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 學過:陣列名稱單獨出現時,代表的就是陣列開頭的記憶體位置。