gpt4 book ai didi

c++ - 关于指针指针的混淆

转载 作者:太空狗 更新时间:2023-10-29 19:38:39 25 4
gpt4 key购买 nike

我对指向指针的指针有点困惑,并且由于 Google 省略了一些符号而无法找到所需的结果。以下语句的实际含义是什么

int** arr[10];

它是由 10 个双指针组成的数组还是指向由 10 个整数指针组成的数组的指针(或者两个语句相同)。

下面的陈述描述了什么?

*arr[0] = new int(5); //assign the first pointer to array of 10 pointers a memory of 5?

And 是等同于

的第一个语句
int* (*arr)[10];

如果有人能解开我的疑惑,我将不胜感激。谢谢!

最佳答案

What does the below statement actually mean

表示指向int的指针数组。数组中正好有 10 个元素,每个元素的类型都是 int**

What does the below statement depict?

它首先访问数组中的第一个元素,然后取消引用它以访问 int*。第一个元素指向的int指针被赋值指向新分配的内存。新分配的内存的值为 5

And is the first statement equivalent to int* (*arr)[10];

不,一点也不。 int* (*arr)[10];是指向int*数组的指针。也就是说它不是一个数组,它是一个指向数组的指针,它所指向的数组包含10个元素,这些元素都是int*

关于c++ - 关于指针指针的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com