阅读量:0
是的,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。