1、數(shù)組,結(jié)構(gòu)體和指針是C語(yǔ)言里面最難的部分,如果在編程中可以熟練的運(yùn)用這三樣工具,會(huì)大大地提高開(kāi)發(fā)效率,簡(jiǎn)化程序結(jié)構(gòu),提成代碼運(yùn)行速度。
2、數(shù)組
(1)C語(yǔ)言中的數(shù)組分為一維數(shù)組和二維數(shù)組,數(shù)組其實(shí)就是在計(jì)算機(jī)的內(nèi)存中給分配一塊空間,這個(gè)空間根據(jù)數(shù)組的數(shù)據(jù)類(lèi)型確定。
(2)一維數(shù)組:一維數(shù)組是最常用的形式,定義方式如下圖所示。
上面三種定義方法區(qū)別只是在給定初始值上,數(shù)組名是tab,數(shù)組類(lèi)型是char,上面三種方式都是定義了一個(gè)字符型名字叫做tab的數(shù)組,數(shù)組長(zhǎng)度12個(gè)字節(jié),第一個(gè)數(shù)據(jù)地址為0,數(shù)組里面數(shù)據(jù)調(diào)用的方法如下圖所示。
這段程序的運(yùn)行結(jié)果是在屏幕上打印出0這個(gè)數(shù)字。
(3)二維數(shù)組:二維數(shù)組用的地方不多,,定義方式如下圖所示。
上面三種方法都是定義二維數(shù)組的方式,都定義了一個(gè)2行7列的二維數(shù)組,數(shù)組名tab,數(shù)組類(lèi)型char,第一個(gè)中括號(hào)里面指定行的位置,第二個(gè)中括號(hào)里面指定列的位置,第一個(gè)元素是tab[0][0],元素排列如下表所示。
0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
7 | 8 | 9 | 10 | 11 | 12 | 13 |
數(shù)組里面數(shù)據(jù)調(diào)用的方法如下圖所示。
這段程序的運(yùn)行結(jié)果是在屏幕上打印出9這個(gè)數(shù)字。
3、結(jié)構(gòu)體
(1)結(jié)構(gòu)體是由一批數(shù)據(jù)組合而成的一種新的數(shù)據(jù)類(lèi)型。組成結(jié)構(gòu)型數(shù)據(jù)的每個(gè)數(shù)據(jù)稱(chēng)為結(jié)構(gòu)型數(shù)據(jù)的“成員”,舉個(gè)學(xué)生信息的例子來(lái)說(shuō)明結(jié)構(gòu)體,一個(gè)學(xué)生信息最起碼需要有性別,姓名,年齡,家庭住址這些信息,而這些信息的數(shù)據(jù)類(lèi)型肯定是不一樣的,比如年齡的數(shù)據(jù)類(lèi)型一般就會(huì)用整型表示,但是性別,姓名這些就需要用字符串來(lái)表示(C語(yǔ)言中無(wú)法定義字符串變量,所以一般字符串變量就是用一維數(shù)組來(lái)實(shí)現(xiàn)),那么這個(gè)結(jié)構(gòu)體就應(yīng)該是:
struct 學(xué)生信息{
char姓名[3];
int年齡;
};
(2)結(jié)構(gòu)體的創(chuàng)建方式如下圖所示。
方法如
上面是三種創(chuàng)建結(jié)構(gòu)體的方式,其中前兩種創(chuàng)建的結(jié)構(gòu)體名稱(chēng)就是Data1,里面有一個(gè)char類(lèi)型的20個(gè)字節(jié)的數(shù)組num和一個(gè)整型的result。但是第三種方法,由于使用了typedef,這個(gè)關(guān)鍵字的意思是給新的結(jié)構(gòu)體重新起一個(gè)名字,所以第三種方法實(shí)際是創(chuàng)建了一個(gè)新的Data類(lèi)型的結(jié)構(gòu)體,最后22行的Test才是這第三種方法創(chuàng)建的結(jié)構(gòu)體的名字。
(2)結(jié)構(gòu)體的引用:結(jié)構(gòu)體上面已經(jīng)創(chuàng)建好了,那么如何引用呢,結(jié)構(gòu)體引用的時(shí)候一般都是結(jié)構(gòu)體名稱(chēng)+”.”+元素名稱(chēng),如下圖所示。
下圖所
示。
注:無(wú)論結(jié)構(gòu)體用那種方式定義,通常引用都是這種格式(有一種特殊情況)
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136839 -
編程
+關(guān)注
關(guān)注
88文章
3616瀏覽量
93738 -
數(shù)組
+關(guān)注
關(guān)注
1文章
417瀏覽量
25947
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論