是的,C++中的雙重指針可以用于指向指針數組。
雙重指針是指一個指針變量指向另一個指針變量,而后者又指向一個指針數組。這種結構通常用于處理二維數組或者指針數組。
下面是一個簡單的示例代碼,演示了如何使用雙重指針來指向指針數組:
int main() {
int *ptr = new int[10]; // 創建一個int類型的指針數組
int **ptr2 = new int*[10]; // 創建一個指向int類型指針數組的指針
// 將ptr指向的每個元素都賦值為1
for (int i = 0; i < 10; i++) {
ptr[i] = 1;
}
// 將ptr2指向ptr所指向的指針數組的每個元素都賦值為2
for (int i = 0; i < 10; i++) {
ptr2[i] = ptr + i;
*(ptr2[i]) = 2;
}
// 打印ptr2指向的指針數組的元素
for (int i = 0; i < 10; i++) {
cout << *(*(ptr2 + i)) << " ";
}
delete [] ptr;
delete [] ptr2;
return 0;
}
輸出結果為:
2 2 2 2 2 2 2 2 2 2
在這個示例中,我們首先創建了一個int類型的指針數組ptr,然后創建了一個指向int類型指針數組的指針ptr2。接下來,我們將ptr指向的每個元素都賦值為1,然后將ptr2指向ptr所指向的指針數組的每個元素都賦值為2。最后,我們打印出ptr2指向的指針數組的元素,得到的結果是2 2 2 2 2 2 2 2 2 2。