一、數組的基本不雅點
數組是C言語中一種非常基本且重要的數據構造,用於存儲雷同範例的數據項。數組中的元素在內存中是持續存儲的,可能經由過程索引來拜訪特定地位的元素。在C言語中,數組的索引是從0開端的。
二、數組的定義
數組的定義格局如下:
datatype arrayName[arraysize];
其中,datatype
是數組中元素的數據範例,arrayName
是數組的名字,arraysize
是數組的大小,即數組中元素的數量。
三、初始化數組
數組可能在申明時直接初始化,也可能在申明後單獨初始化。
3.1 申明時初始化
int numbers[] = {1, 2, 3, 4, 5};
3.2 申明後初始化
int numbers[5];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
假如不給全部元素賦值,則未賦值的元素會被主動初始化為0。
四、拜訪數組元素
數組元素可能經由過程索引來拜訪,索引從0開端計數。
int firstElement = numbers[0];
五、遍曆數組
遍曆數組是罕見的操縱之一,平日經由過程輪回構造實現。
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]);
}
六、多維數組
除了最基本的單維數組外,C言語還支撐多維數組,如二維數組、三維數組等。
6.1 二維數組
二維數組常用來表示矩陣或表格。
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
6.2 拜訪二維數組元素
int secondRowSecondColumn = matrix[1][1];
七、指針與數組
指針與數組有著密切的關係。數組名本身就是一個指向數組第一個元素的指針。
7.1 利用指針拜訪數組元素
int *p = numbers;
printf("%d ", *(p + 1)); // 輸出 2
7.2 利用指針遍曆數組
for (int *p = numbers; p < numbers + 5; p++) {
printf("%d ", *p);
}
八、數組操縱技能
8.1 靜態分配數組內存
int *dynamicArray = (int *)malloc(5 * sizeof(int));
8.2 開釋靜態分配的數組內存
free(dynamicArray);
8.3 查找數組中的最大年夜值跟最小值
int max = numbers[0];
int min = numbers[0];
for (int i = 1; i < 5; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
}
}
九、總結
經由過程本文的介紹,信賴讀者曾經對C言語數組有了單方面的懂得。控制數組操縱技能對進步編程效力至關重要。在現實編程中,機動應用數組可能進步代碼的可讀性跟可保護性。