gpt4 book ai didi

c++ - 指向数组语法的指针

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:50 25 4
gpt4 key购买 nike

我对数组指针的语法有疑问。好吧,我们知道数组本身就是指针(正如我们的大学教授所说),所以为什么当我们用另一个指针(这将是指向指针的指针)指向它们时,我们使用这种语法:

int array[10]; 
int *pointer = array;

代替这种语法:

int array[10];
int **pointer = &array;

虽然我知道使用 malloc 是正确的,但为什么不是以正常方式,是编译器或语法问题还是我在其他地方错了?

最佳答案

告诉你的教授他们错了。数组不是指针。数组可以 decay 到指针,但它们不是指针。

int* pointer = array; 声明一个指向 array 中第一个元素的指针。

int** pointer = &array; 不正确。 jschultz410在评论中提到,&array的类型不是int**,是int(*)[10 ] 又名指向 10 个整数数组的指针,它不能衰减为 int**

关于c++ - 指向数组语法的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790204/

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