看看这个typedef是什么意思

winner8080 2007-04-13 03:52:14
定义在这里
typedef void (*MyDelegate)(int i );
下面就用mydeledate了

在上面的typedef中不是把void 型定义成(*MyDelegate)(int i )吗,这里单用mydelegate是怎么回事呢

MyDelegate test1( int i )
{
printf("%d\n", i );
}
MyDelegate test2( int i )
{
printf("%d\n", i+1 );
}
...全文
357 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzp729 2007-04-16
  • 打赏
  • 举报
回复
这里
http://www.lzp729.cn/?p=45
wangzhangyong411 2007-04-16
  • 打赏
  • 举报
回复
如果理解了上面我写的 你可以试解读下下面这句

void (*signal(int sig, void (*func)(int)) )(int);

SF


wangzhangyong411 2007-04-16
  • 打赏
  • 举报
回复
LZ这种题目很常见

typedef void (*MyDelegate)(int i );的意思是定义一种类型

这种类型名字叫MyDelegate 这类型是一个函数指针,而这函数是参数是(int),

返回值为void的函数,这样可以理解这是什么类型了哦

MyDelegate test1( int i )
{
printf("%d\n", i );
}

你这么写肯定编译不通过的,这么写的意思是,定义一个函数,

函数名为test1 参数为int i 返回类型是刚才定义的MyDelegate

为了让楼主便于理解 我试写下

void test(int i)
{
printf("test");
}

MyDelegate test1( int i )
{
return &test;
}

MyDelegate a = test1(i);

这样写就可以了 在逻辑上没什么意义,只是让楼主便于理解





  • 打赏
  • 举报
回复
MyDelegate test1( int i )这两个代码的确返回一个函数指针,只不过这样的代码编译能过去么?
{
printf("%d\n", i );
}
MyDelegate test2( int i )
{
printf("%d\n", i+1 );
}
sunmc 2007-04-16
  • 打赏
  • 举报
回复
看《C专家编程》
不想低调 2007-04-13
  • 打赏
  • 举报
回复
我觉得lz的代码也特有问题,,,。。
wasoxi 2007-04-13
  • 打赏
  • 举报
回复
应该是 freshui(五月的风) 的说法能说得过去吧
返回一个函数指针 说不太过去吧
kouzhongling 2007-04-13
  • 打赏
  • 举报
回复
test1理解成函数指针比理解成返回一个函数指针说的过去,从没见过如此定义函数指针

有能编译的代码吗?贴上来看看
freshui 2007-04-13
  • 打赏
  • 举报
回复
MyDelegate test1( int i )
{
printf("%d\n", i );
}

==>

void test1(int i)
{
printf("%d\n", i );
}

呵呵, 不过这是一个函数, 不能这样理解

这里的test1是函数的指针, 可以理解成指向如上所示的函数的一个指针

这个指针可以指向诸如:
void 函数名(int i)
{
//可以写任何代码
}
这种形式的任何函数

这样就可以方便给一个接口, 但是可以调用同一参数和返回值类型但功能不同的函数
kouzhongling 2007-04-13
  • 打赏
  • 举报
回复
MyDelegate函数指针

MyDelegate test1( int i ) 一个函数,返回值为函数指针
================================
这样的解释很表面化

对于lz的代码很迷惑
MyDelegate test1( int i )
{
printf("%d\n", i );
}
这样的代码能返回指针?
  • 打赏
  • 举报
回复
MyDelegate函数指针

MyDelegate test1( int i ) 一个函数,返回值为函数指针

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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