个人愚见:
任何C变量得声明的都由两部分组成
类型以及一组类似表达式的声明符;最简单的声明符就是单个变量!
例如:
float f, g;
表明对其求植的时候,表达式f和g的类型为浮点类型(float)
char (*t)(short int)
此表明(*t)(short int)为char型,而(*t)(short int)表明此为函数!
t是一个函数指针,函数参数类型为short int
所以此声明表明:t是一个函数指针,t所指向的函数返回值为char型.
一旦我们知道如何声明一个给定的变量,那么该类型的类型转换符就很容易
得到了
如何得到?
so easy!
只需把声明中的变量名和声明末尾的分号去掉,再将剩下的部分用一个括号
"封装"起来即可!
所以(char(*)(int)表明是一个"指向返回值为char型的函数的指针"
该理解下面式子的意思了吧
i=(char (*)(int))0;
[[it] 本帖最后由 wubizao 于 2008-2-27 17:23 编辑 [/it]]