分类: 嵌入式
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; 这样总能理解了吧