// 計算陣列的大小 int size = sizeof(numbers) / sizeof(numbers[0]);
// 定義一個指標陣列,指向整數 int* pointers[size];
// 將每個指標指向整數陣列中的元素 for (int i = 0; i < size; ++i) { pointers[i] = &numbers[i]; }
// 輸出每個指標所指向的值 cout << "Values in the array using pointer array:" << endl; for (int i = 0; i < size; ++i) { cout << "Value at pointers[" << i << "] = " << *pointers[i] << endl; }
return0; }
輸出結果:
1 2 3 4 5 6
Values in the array using pointer array: Value at pointers[0] = 10 Value at pointers[1] = 20 Value at pointers[2] = 30 Value at pointers[3] = 40 Value at pointers[4] = 50
intmain(){ constchar *names[MAX] = { "C++ is best.", "I am handsome!", "Haha welcome to programming world.", "good night.", };
for (int i = 0; i < MAX; i++) { cout << "Value of names[" << i << "] = "; cout << names[i] << endl; } return0; }
輸出結果:
1 2 3 4
Value of names[0] = C++ is best. Value of names[1] = I am handsome! Value of names[2] = Haha welcome to programming world. Value of names[3] = good night.
雙重指標(Pointer to Pointer / Double Pointer)
我們都知道指標是一個變數,用於儲存另一個變數的記憶體位址。
那麼雙重指標就是一個指標指向另一個指標,那麼所儲存的也就是指標的記憶體位址。
語法是加上兩個星號,如下:
1
int **var;
以下是一個範例:
1 2 3
int value = 100; int *ptr = &value; // 單層指標,指向整數值 int **doublePtr = &ptr; // 雙層指標,指向單層指標