3.1數組
同類型、同性質、按順序存放的一組資料集合,易于批量處理。
3.1.1一維數組- 定義
int
1.數組名為常量,指向首位址,由系統指定。
2.數組長度為整型常量,但不能為0
3.上例取值image[0]-image[255],取值可以修改。
- 初始化
int
- 輸入
for
- 輸出
for
3.1.2二維數組 - 定義
int
1.相比一維數組,二維數組按行存儲,一行存完再存第二行,兩個數字代表[行][列]。
- 初始化
int
- 輸入
for
- 輸出
for
3.1.3字元數組(字元串) - 定義
char
1.系統會在字元串結尾自動補'0',數組長度N,占用記憶體N+1。
2.結束循環條件,實數數組不滿足 i<N,字元數組不滿足 str[i]!='0'。
- 初始化
char
- 輸入
gets
- 輸出
puts
==== 調用以下函數,聲明頭檔案
<string.h>====
查詢
3.1.4數組應用 - 選擇法排序 (一維數組)
例:随機産生

- 冒泡法排序 (一維數組)
例:随機産生
- 插入與删除 (一維數組)
#include
- 二分法查找 (一維數組)
#include
- 楊輝三角(二維數組)
#include
- 矩陣轉置(二維數組)
#include
3.2結構體
一種自定義的資料類型,用來描述 邏輯上有關聯 但類型、性質可能不同 的資料集合。
是由基本資料類型構造的複雜資料類型。
3.2.1結構類型聲明struct
1.結構類型聲明可以嵌套定義
例
2.結構變量可以像普通變量一樣使用。
3.結構體内變量名,可以和結構外的變量名相同,不代表同一對象。
3.2.2結構變量定義- 聲明時直接定義
struct
- 先聲明再定義
struct
- 無類型名變量
struct
3.2.3結構變量通路 struct
- 通過變量名通路
p1
- 通過指針通路
p
1.通路結構成員:輸入、輸出
2.通路整體結構:利用已知結構變量向未知結構變量指派、做函數參數
3.嵌套通路,要逐級通路,運算規則參考那一級的運算規則。
3.2.4初始化- 結構變量初始化
struct
- 結構數組初始化
struct
3.2.5應用 - 學生成績排序(結構數組)
#include
- 結構類型函數:24計時轉變為12計時
#include
一種資料結構,由資料和指針組成的結構體。用來表示實體存儲非連續、非順序的數組。
相比數組,連結清單動态存儲,優點是便于插入、删除、動态擴充表大小,缺點是不能按下标存取任意元素。
- 聲明
struct
- 建立 (輸入)
/*建立n結點連結清單*/
- 周遊 (輸出)
/*周遊n結點連結清單*/
- 查找 (按序查找)
/*按序查找第i元素*/
- 插入 (有序清單插入資料仍有序)
/*按序插入資料(升序)*/
- 删除
/*删除某資料*/
5.3 共用體 union
5.4 枚舉類型 enum