关于C语言中类型转换符的知识
发布网友
发布时间:2022-04-29 07:43
我来回答
共1个回答
热心网友
时间:2022-06-21 06:55
任何C变量的声明都由两部分组成:类型以及一组类似表达式的声明符。因此,
float *g(),(*h)();表示*g()与(*h)()是浮点表达式。因为()结合优先级额高于*,*g()也就是*(g());g是一个函数,该函数的返回值类型为指向浮点数的指针。同理,可以得出h是一个函数指针,h所指向函数的返回值为浮点类型。
一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转换符就很容易得到了:只需要把声明中的变量名和声明末尾的分号去掉,再将剩余的部分用一个括号整个“封装”起来即可。例如,因为下面的声明:
float (*h)();
表示h是一个指向返回值为浮点类型的函数的指针,因此,
(float (*)())
表示一个“指向返回值为浮点类型的函数的指针”的类型转换符。