gpt4 book ai didi

c - 为函数声明 typedef

转载 作者:行者123 更新时间:2023-12-04 11:38:52 24 4
gpt4 key购买 nike

如果不在第 3 行中为 typedef 指定名称,以下代码如何工作?编译器如何将 pf 假定为新数据类型?

#include <stdio.h>

int fun(int, int);
typedef int (*pf) (int, int);
int proc(pf, int, int);

int main(){
printf("%d\n", proc(fun, 6, 6));
return 0;
}

int fun(int a, int b){
return (a==b);
}

int proc(pf p, int a, int b){
return ((*p)(a, b));
}

最佳答案

它确实给了它一个名字:

 typedef int (*pf) (int, int);
^^

这是 typedef 的名称。其内容如下:pf 是一个指向接受两个整数并返回一个整数的函数的指针

有关函数指针 typedef 如何工作的更多详细信息,请参阅:

关于c - 为函数声明 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18561325/

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