c程序設(shè)計(jì)抽象思維
c程序設(shè)計(jì)抽象思維
C語言是一門通用計(jì)算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。今天小編帶你去看看C程序設(shè)計(jì)的抽象思維,希望能幫到你。
【數(shù)據(jù)類型】
數(shù)據(jù)層次結(jié)構(gòu)中的最底層是由原子類型和枚舉類型構(gòu)成的。從最底層開始,通過使用指針、數(shù)組、記錄機(jī)制,利用已有的類型擴(kuò)展這個(gè)層次結(jié)構(gòu)。
原子類型分為4類:整數(shù)類型,浮點(diǎn)類型,文本類型,布爾類型。
枚舉類型采用以下的語法形式來定義:
typedef enum { element - list } name;
其中,element-list是標(biāo)識符的列表,稱為枚舉常量。name是這個(gè)新類型的名稱。例如下面的枚舉類型定義了羅盤上的四個(gè)主要方向:
typedef enum { North, East, South, West } directionT;
一旦定義了枚舉類型,就可以像其他內(nèi)建原子類型那樣聲明這種類型的變量。
在C語言中,枚舉類型、字符型和各種整數(shù)的表示形式統(tǒng)一叫做標(biāo)量類型。當(dāng)在C表達(dá)式中使用標(biāo)量類型的值時(shí),編譯器就會(huì)自動(dòng)將這些標(biāo)識符轉(zhuǎn)換為整數(shù)保存。這種機(jī)制的作用是,在這些標(biāo)量類型上執(zhí)行的操作與整型上執(zhí)行的操作完全一樣。
【指針】
在C語言中有一種表示內(nèi)存地址的數(shù)據(jù)項(xiàng),稱為指針。指針有很多種用處,下面是最主要的集中:
1. 指針可以以一種簡潔的方式訪問一個(gè)大的數(shù)據(jù)結(jié)構(gòu)。
2. 指針可以使不同程序間的數(shù)據(jù)共享更方便。
3. 指針可以在程序執(zhí)行時(shí)留出內(nèi)存空間。
4. 指針可以記錄各數(shù)據(jù)項(xiàng)之間的關(guān)系。
在很多指針應(yīng)用中,都需要有一個(gè)特殊指針值,表示某一指針并不指向任何實(shí)際單元。C語言定義了這種特殊的常量,稱為NULL(在stdlib.h頭文件中定義的)。該常量可以被賦值給任何的指針變量,其內(nèi)部表示為地址值0。
為了了解指針變量在實(shí)際中是如何使用的,我們先看一下C語言中指針的常規(guī)用法-向函數(shù)傳遞指針,使被調(diào)用函數(shù)可以使用到調(diào)用函數(shù)中的數(shù)據(jù)。將簡單變量從一個(gè)函數(shù)傳遞給另一個(gè)函數(shù),只是使另一個(gè)函數(shù)得到一個(gè)副本。在函數(shù)中訪問這個(gè)參數(shù),只是訪問它的本地副本,對調(diào)用函數(shù)中的數(shù)據(jù)沒有任何影響。
把指針當(dāng)做參數(shù)傳遞,使得在被調(diào)用函數(shù)中改變調(diào)用函數(shù)的參數(shù)值。在C語言中使用傳遞指針的方式傳遞地址稱為引用。