Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14548
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 32
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-07 15:38
文章分类
文章存档

2016年(7)

我的朋友
最近访客

分类: 嵌入式

2016-05-21 22:12:36

void (*run)(void) = (void (*)(void))0x0;
这句话什么意思阿,没见过这样的阿
网友回复:定义了一个不带参数和返回值的函数指针run ,同时对它进行初始化。指向了内存的0号单元。

网友回复:run是一个指向返回值和参数都为空的函数的指针,0x0就是0,这个赋值就是将地址0强制转换为返回值和参数都为空的函数的地址赋给run。
网友回复:严重同意楼上两位
网友回复:(void (*)(void))0x0;这句看不懂
网友回复:(void (*)(void))0x0;这句看不懂

------------------------------------

进行强制转换.就好象(char *)str一样
网友回复:void (*run)(void)与void (*)(void)有什么区别呢
只是差个名称
对于类型来说本身叫什么就没必要
void (*)(void) 就是函数指针,它是个类型说明
网友回复:继续细化
void (*)(void)

(*) --我是函数指针
(void)-不需要传给我参数
void --我的返回类型为空


------------------
void (*run)(void)


(*run) --我是函数指针 ,我叫run
(void)-不需要传给我参数
void --我的返回类型为空

你可以这么看typedef void (*run)(void) 然后run a = (run)0x00; 这样总能理解了吧

阅读(687) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~