數組是同類型變量的有限集合,通過下標訪問。C 中數組由連續內存區域構成,最低地址對應首元素(下標 0),最高地址對應第 N-1 個元素。
type_specifier array_name[size] = {value_list};
// 一維示例
char hello[12] = {'H','e','l','l','o',',',' ','w','o','r','l','d','\0'};
字符數組以 '\0' 結尾(C 標準),操作時以此為結束標誌。若定義字符串常量則自動添加 '\0':
char *hello = "Hello, world";
char hello[] = "Hello, world"; // 編譯器自動計算長度
初始化時可省略尺寸:char hello[] = {'H','e',...,'\0'};,編譯器自動分配合適空間。
& 取首成員地址。char *p = "str" 與 char p[] = "str":前者指向只讀常量區,後者在棧上分配可修改副本。a[i] 等價於 *(a+i);指針加減按元素大小縮放。理解此等價性是掌握數組指針互操作的核心。