免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2487 | 回复: 7

[C] void (*send_xchar)(struct tty_struct *tty, char ch); [复制链接]

论坛徽章:
0
发表于 2012-08-15 12:12 |显示全部楼层
在结构体里面有这么一句话 请问这里的send_xchar是一个函数声明吗? 还是函数类型定义,但是函数类型定义又没有typedef 求解
谢谢

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2012-08-15 12:19 |显示全部楼层
回复 1# liuyang7078


    定义一个函数指针

论坛徽章:
0
发表于 2012-08-15 12:28 |显示全部楼层
回复 2# folklore

小白问一下:
为什么括号内 函数名前面有一个*号 那个是表示返回指针还是什么 如果是返回类型 为什么不是(void *)send_xchar(...). 求解 谢谢大哥


   

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2012-08-15 12:40 |显示全部楼层
回复 3# liuyang7078

  1. // 定义
  2. void send_xchar_imp(struct tty_struct *tty, char ch){
  3.    return;
  4. }
复制代码
int main(){
   tty_struct stty;
   char ch;

   void send_xchar_imp(struct tty_struct *tty, char ch);  // 声明的示例,无用,只是和下列做对比。
   void (*send_xchar)(struct tty_struct *tty, char ch); //宣言
   void (*send_xchar2)(struct tty_struct *tty, char ch)=send_xchar_imp;  //宣言同时初始化
   send_xchar=send_xchar_imp;
   send_xchar_imp(&stty,ch); //一般的函数调用
   send_xchar(&stty,ch); // 通过函数指针调用
   send_xchar2(&stty,ch); // 通过函数指针调用
   return 0;
}
   

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2012-08-15 12:42 |显示全部楼层
回复 3# liuyang7078


    函数指针者,指向函数的指针也。。。。

论坛徽章:
0
发表于 2012-08-15 12:56 |显示全部楼层
回复 4# folklore
那就应该是像  定义一个普通变量一样 定义一个函数变量  这个函数变量 存放的是函数的地址 在使用该函数的地方 直接把这个函数变量赋值给需用该函数的地方即可 嗯 这样挺好的

感觉很想是个接口 一个函数变量 可以赋值不同的函数

这样理解对否? 还有一个问题 如果把函数名赋值给这个函数变量 那么这个时候函数名 应该对应这段函数代码的首地址?


   

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2012-08-15 13:03 |显示全部楼层
回复 6# liuyang7078


    对,不然函数指针就没用了

论坛徽章:
0
发表于 2012-08-15 14:25 |显示全部楼层
回复 7# folklore
3Q! :wink:


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP