最简单的声明变量,如:
|
1
|
float f
, g ; |
这个声明的含义是:当对其求值时,表达式f和g的类型为浮点型。
同样的逻辑也适用于函数和指针类型的声明,例如:
|
1
|
float ff(); |
这个声明的含义是:表达式ff()求值结果是一个浮点数,也就是说,ff是一个返回值为浮点类型的函数,类似地:
|
1
|
float *pf; |
这个声明的含义是*pf是一个浮点数,也就是说,pf是一个指向浮点数的指针。
以上这些形式在声明中还可以组合起来,就像在表达式中进行组合一样,因此:
|
1
|
float *g()
, (*h)(); |
表示*g()与(*h)()是浮点表达式。因为()结合优先级高于*,*g()也就是*(g()):g是一个函数,该函数的返回值类型为指向浮点数的指针。同理,可以得出h是一个函数指针,h所指向函数的返回值为浮点类型。
一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转换符就很容易得到了:只需要把声明中的变量名和声明末尾的分号去掉,再将剩余的部分用一个括号整个“封装”起来即可。例如:
|
1
|
float (*h)(); |
表示h是一个指向返回值为浮点类型的函数的指针,因此,
|
1
|
(float (*)()) |
表示一个“指向返回值为浮点类型的函数的指针”的类型转换符。
本文详细介绍了C语言中变量、函数及指针的声明方式,并解释了它们的含义及如何进行类型转换。
308

被折叠的 条评论
为什么被折叠?



