Chapter2_C與C++——2.5 數組

2.5 數組

數組就是一片連續的內存區。這個內存區裏,保存着一組相同類型的數據。數組的類型沒有限制,但名稱仍然只能包含英文字母,數字和下劃線。

int     int_arry[8];        // int 型數組, 保存了 8 個 int 型數據.
short   short_arry[16];     // short 型數組, 保存了 16 個 short 型數據.
long*   plong_arry[32];     // long 型指針數組, 保存了 32 個 long 型指針.
double  double_arry[64];    // 雙精度浮點型數組, 保存了 64 個雙精度浮點數.

long along = 15;
plong_arry[0] = &along;     // 通過索引來訪問數組元素.
double_arry[1] = 3.1415;

數組的名稱是指向這片連續內存區的 const 指針。因此既可以使用指針來訪問數組中的元素,也可以使用索引來訪問數組中的元素。

char char_arry[] = {0x55, 0xAA, 0x33, 0x99};    // 某些編譯器允許不指明數組長度, 但此時必須初始化該數組.
char* pointer = char_arry;

printf("0x%X\n", char_arry[2]);     // 輸出 0x33.
printf("0x%X\n", (pointer+2));      // 同樣輸出 0x33.

指針和數組名都代表了某連續內存的首地址,因此可以通過索引,像使用數組那樣來使用指針。

int i;
char* char_arry = malloc(128);

for(i=0; i<128; i++)
{
    char_arry[i] = i;       // 像使用數組那樣使用指針.
    printf("%d\n", char_arry[i]);
}

數組也可以是複合類型,也就是說,數組可以是結構體或者聯合體類型。

練習

按學號順序,將全班 32 個學生的性別、身高、體重信息錄入到程序中,並分別求出男生和女生的平均身高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章