温馨提示×

c++双重指针能否用于指向指针数组

c++
小樊
84
2024-09-24 23:24:17
栏目: 编程语言

是的,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。

0