gpt4 book ai didi

c - 声明 int (*ptr)[30];创建?

转载 作者:太空狗 更新时间:2023-10-29 15:50:22 25 4
gpt4 key购买 nike

int (*ptr)[30]; 会创建什么?一般来说,如果变量名(在本例中是指针)在括号中会发生什么情况?

最佳答案

这种问题总是可以通过从里到外看表达式来回答,并考虑优先级。

在你的情况下:

int (*ptr)[30];

可以看作

int (*ptr)[30];
-> ptr a variable called ptr
--> *ptr which is a pointer
---> (*ptr)[30] which points to an array with length of 30
----> int (*ptr)[30] in which each element is of type int

如果去掉双括号,故事就变成了:

int *ptr[30];
-> ptr a variable called ptr
--> ptr[30] which is an array with length of 30
---> *ptr[30] in which each element is a pointer
----> int *ptr[30] and each individual points to an int

同样的技巧总是可以应用于任何关于变量声明的表达式。(注意函数声明是特殊的。但它仍然可以这样分析到一个点。)

关于c - 声明 int (*ptr)[30];创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257097/

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