gpt4 book ai didi

c - 在 C 中,此声明 : int *(*table())[30]; 的含义是什么

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

int *(*table())[30];

我无法在任何地方找到解决方案。*table()是什么,可以是函数还是数组?

你能告诉我这是什么意思吗?

最佳答案

你可以从里到外解码它:

int *(*table())[30];

最里面的绑定(bind)是table(),它是一个没有指定参数的函数。下一级是 *table(),因此 table 返回指向某物的指针。下一层是 (*table())[30],因此它返回一个指向 30 长数组的指针。下一级是 *(table())[30],因此它返回一个指向 30 长度指针数组的指针,指向某物。最后一级添加类型说明符 int *(*table())[30]

所以 table 是一个函数(带有未指定的参数),它返回一个指向 30 长数组的指针,指向 int

关于c - 在 C 中,此声明 : int *(*table())[30]; 的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37155089/

25 4 0