s*****k 发帖数: 604 | 1 用typdef定义
好像
typedef void(*funptr)(void);
和
typedef void(funptr)(void);
两个都可以
也就是说函数和指向函数的指针是一样的.我这样理解对不对啊? |
f******y 发帖数: 2971 | 2 第二个定义的是一个函数类型,不是一个指向函数的指针。 |
a****l 发帖数: 8211 | 3 I think it is ok. function basically is just the address of a section of the
code, so it is pointer in nature.
【在 s*****k 的大作中提到】 : 用typdef定义 : 好像 : typedef void(*funptr)(void); : 和 : typedef void(funptr)(void); : 两个都可以 : 也就是说函数和指向函数的指针是一样的.我这样理解对不对啊?
|
r********d 发帖数: 23 | 4 不一样。
第一个,你用 funptr x; 是定义了一个指针
第二个,你用 funptr x; 的话,是一个函数声明,和 void x(void); 是一样的
【在 s*****k 的大作中提到】 : 用typdef定义 : 好像 : typedef void(*funptr)(void); : 和 : typedef void(funptr)(void); : 两个都可以 : 也就是说函数和指向函数的指针是一样的.我这样理解对不对啊?
|
l*****d 发帖数: 359 | 5 用第一个的话, 定义指针用 type pointer即可, 用第二个,定义指针用 type *
pointer才行 |
s*****k 发帖数: 604 | 6 你写过程序测试过没有?
我用gcc, 第一个和第二个没有区别
【在 r********d 的大作中提到】 : 不一样。 : 第一个,你用 funptr x; 是定义了一个指针 : 第二个,你用 funptr x; 的话,是一个函数声明,和 void x(void); 是一样的
|