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

C語言中數(shù)組和結(jié)構體的內(nèi)存表示和布局
C程序設計實驗指導書
C語言程序設計介紹
C程序設計的詳細中文資料免費下載
C語言程序設計教程之二維數(shù)組如何應用二維數(shù)組的資料概述
C語言程序設計教程之數(shù)組的詳細資料說明

C語言程序設計教程之結(jié)構體與共用體的詳細資料說明

C++程序設計教程之數(shù)組的詳細資料說明

C語言程序設計全套培訓課件免費下載

C語言程序設計的學習課件免費下載

Keil使用結(jié)構體數(shù)組的奇怪問題

C程序設計入門筆記之數(shù)組與結(jié)構體

評論