11.2 指標(pointer)

C++ 有內建的排序函式 sort。假設 n 個整數存在陣列 a 的 a[0] ~ a[n-1],把它們由小到大排好只要一行:

int a[6] = {6, 3, 2, 5, 4, 1};
int n = 6;

sort(a, a + n);      // 排完 a 就變成 1 2 3 4 5 6

奇怪的地方在第二個參數:a 是陣列名稱,n 是整數,兩個居然可以相加,加出來的東西還能當參數傳進去。要看懂這個寫法,得先認識一個新型態:指標。

指標:儲存「記憶體位置」的型態

程式裡的每個變數都住在記憶體的某個位置,可以把位置想成門牌號碼。上冊 7.7 學過:陣列名稱單獨出現時,代表的就是陣列開頭的記憶體位置。

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。