gpt4 book ai didi

c - int (* f [])(); 之间有什么区别?和 int f[]();

转载 作者:行者123 更新时间:2023-12-02 22:24:01 26 4
gpt4 key购买 nike

我在 C 上的指针 中找到了这个

int f[]();  /* this one is illegal */

和:

int (* f [])(); /* this one legal. */

我很想知道第二个有什么用

谢谢。

最佳答案

如果您使用初始化 block ,第二个示例非常有效。对于 example :

#include <stdio.h>
int x = 0;
int a() { return x++ + 1; }
int b() { return x++ + 2; }
int c() { return x++ + 3; }

int main()
{
int (* abc[])() = {&a, &b, &c};
int i = 0,
l = sizeof(abc)/sizeof(abc[0]);
for (; i < l; i++) {
printf("Give me a %d for %d!\n", (*abc[i])(), i);
}
return 0;
}

关于c - int (* f [])(); 之间有什么区别?和 int f[]();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250777/

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