練習 C++ 陣列題


陣列是一種將資料儲存在連續記憶體位置中的資料結構。

宣告陣列

Declaring arrays is done by the following syntax :
int 1D[] - for 1-D array
int 2D[][] - for 2-D array

如果你用數量較小的元素初始化陣列,其他元素都用 0 初始化。

陣列元素的記憶體地址

1-D array : address[i] = baseAddress + i*size
2-D array (row major) : address[i][j] = baseAddress + (i*n + j) * size

現在,我們來看一些實踐問題

預測以下程式碼片段的輸出

int arr[5] = {6, 9};
for(int i = 0; i<5; i++)
   cout<<arr[i]<<" ";

輸出

6 9 0 0 0

陣列用兩個值初始化,其餘值用 0 初始化,這反映在輸出中。

int arr[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout<<arr[1][2];

輸出

6

找到整數陣列中給定元素的地址。如果基址為 1420。

1D array : arr[43]
address = 1420 + 43*2 = 1506
2D array of size arr[10][10] : arr[5][4], stored as row major
address = 1420 + (5*10 + 4)*2 = 1420 + (54)*2 = 1528.

更新於: 04-2020 年 2 月

923 次瀏覽

開啟你的 職業

完成該課程獲得認證

開始學習
廣告
© . All rights reserved.