函数与typedef

J_X_Q 2009-08-12 10:23:46
typedef int Myfunc(const char *, const struct stat *, int);

这样是定义了函数的返回值为int型么?还是有其他的意思?
从来没碰到过这种定义。
...全文
270 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireyou 2009-08-14
  • 打赏
  • 举报
回复
typedef 是取一个别名
mtttt 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 niulin 的回复:]
函数指针定义方法1:
typedef int (*pMyfunc)(const char *, const struct stat *, int);
定义了一个指向函数的指针类型(注意,仅仅是一个类型,而不是一个变量),
这个函数有三个参数const char *, const struct stat *, int,并返回int值。
使用方法:
int f1(const char *, const struct stat *, int);
Myfunc p1=f1;
int x=p1(....,....,...);

函数指针定义方法2:
typedef int Myfunc(const char *, const struct stat *, int);
typedef Myfunc *pMyfunc;

上面两种定义方法是完全等价的
[/Quote]

同意
paolochristian 2009-08-13
  • 打赏
  • 举报
回复
typedef 只是给一个函数取个别名叫Myfunc , 而那个函数的形式是这样的:
int (const char *, const struct stat *, int)
poor_student 2009-08-13
  • 打赏
  • 举报
回复
函数类型的定义如下:
函数的原型比如说如下:
int Fun ();那么函数类型的定义如下:typedef int (FUN_TYPE) ();
函数指针的定义:typedef int (*FUN_PTR) ();
gauss85 2009-08-13
  • 打赏
  • 举报
回复
谢谢指教哦~
abcdef0966 2009-08-13
  • 打赏
  • 举报
回复
找书看看,C或者C++的书上应该都有吧
niulin 2009-08-13
  • 打赏
  • 举报
回复
函数指针定义方法1:
typedef int (*pMyfunc)(const char *, const struct stat *, int);
定义了一个指向函数的指针类型(注意,仅仅是一个类型,而不是一个变量),
这个函数有三个参数const char *, const struct stat *, int,并返回int值。
使用方法:
int f1(const char *, const struct stat *, int);
Myfunc p1=f1;
int x=p1(....,....,...);

函数指针定义方法2:
typedef int Myfunc(const char *, const struct stat *, int);
typedef Myfunc *pMyfunc;

上面两种定义方法是完全等价的
qzl123666 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kakashi0309 的回复:]
typedef  只是定义个别名

即Myfunc 表示 int (const char *, const struct stat *, int)这种形式的函数
[/Quote]
同意
  • 打赏
  • 举报
回复
定义了一种自定义类型的函数
zjf30366 2009-08-12
  • 打赏
  • 举报
回复
o[Quote=引用 1 楼 baihacker 的回复:]
C/C++ code这里是定义了一个函数类型...
#include<stdio.h>
typedefvoid FUN_TYPE();
FUN_TYPE foo;void foo()
{
printf("hello");
}int main()
{
foo();return0;
}
[/Quote]
kakashi0309 2009-08-12
  • 打赏
  • 举报
回复
typedef 只是定义个别名

即Myfunc 表示 int (const char *, const struct stat *, int)这种形式的函数
飞天御剑流 2009-08-12
  • 打赏
  • 举报
回复
这里不是定义一个函数,而是定义函数类型的同义词。

Myfunc是一个函数类型的同义词,这种函数具有三个参数,返回值类型为int。
baihacker 2009-08-12
  • 打赏
  • 举报
回复
这里是定义了一个函数类型...
#include <stdio.h>
typedef void FUN_TYPE();
FUN_TYPE foo;
void foo()
{
printf("hello");
}
int main()
{
foo();
return 0;
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧