gpt4 book ai didi

c - 解释一下下面的代码?

转载 作者:行者123 更新时间:2023-12-04 11:03:44 25 4
gpt4 key购买 nike

下面的代码片段(用 C 语言编写)有几处我不明白:

struct T {
int a;
int *b;
struct T *next;
} ;

struct T *p1;

struct T* (*f)(int, int, struct T*);

struct T* g(int a, int b, struct T* c)
{
return (a > b ? c : NULL);
}

f = &g;
p1 = (*f)(4,3,p1);

具体来说,这一行是什么意思?

struct T* (*f)(int, int, struct T*);

这是一个函数吗?如果是这样,为什么它没有主体,为什么似乎缺少形式参数名称?如果此函数缺少主体,它会返回什么?

还有,下面的作业是怎么回事?

f = &g;

最佳答案

struct T* (*f)(int, int, struct T*);,是函数指针,在您定义函数指针的位置,它接受三个参数 (int, int, struct T*)

而代码 f = &g; 表示您正在将函数指针 f 分配给函数 g

关于c - 解释一下下面的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23023134/

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