注册 登录
编程论坛 C语言论坛

int * fun(int,int) 和 (int *)fun(int,int)和int (* fun)(int,int)什么意思

叶纤 发布于 2020-02-28 17:59, 2021 次点击
int * fun(int,int) 和 (int *)fun(int,int)和int (* fun)(int,int)什么意思

typedef不是起别名吗
那typedef int(*fun)(int,int)起的什么名字
3 回复
#2
forever742020-02-28 21:29
前两个是相同的意思,一个函数,返回指向整型的指针
第三个是定义一个指针,用来指向(那种返回整型值,有两个整型参数的)函数

后面的typedef定义了一个新的类型fun,这个类型如上述第三个,下文可以
fun p1,p2;
则p1,p2这两个就都是“指针,用来指向(那种返回整型值,有两个整型参数的)函数”
#3
forever742020-02-28 21:43
typedef的语法你可能理解得有点窄。

正常的声明,用来声明一个标识符,这个标识符可能是变量名/数组名/指针名/函数名等。
前面加上typedef以后,刚才那个标识符就摇身一变成为新的类型名了。
例如
typedef int array[20];
array a,b,c;
它们就都是数组了。
#4
叶纤2020-02-28 22:59
太耐你啦大大大,一会实践一下
1