《C陷阱和缺陷》读书笔记(2)- 语法”陷阱“
词法、语法构成语言的一个基本条件。光有一个个的单词符号是不够的,这些符号的不同组合可以表达不同的含义。 例如,声明是什么,表达式什么,语句是什么,程序是什么等等。
理解函数声明
看看下面一个语句:
|
|
乍一看到这个语句,肯定当场吓尿!啥鬼玩儿意!
别着急! 慢慢来,庖丁解牛,让我们看看作者这个大牛是怎么来剖开其五脏六腑的?
-
变量声明
- 简单变量声明:
float f; - 也可以对变量名加上括号,
float ((f)); - 变量指针:
float *pf;
- 简单变量声明:
-
函数声明
-
简单的函数声明:
float ff() -
复杂的函数声明:
float ff(float) -
指针形式:
float (*pff)();// 为什么这里需要加上括号呢?因为括号的优先级高于
*,float *pff();中,()优先和pff结合, 表示的是函数pff(), 返回值是为指向浮点数指针。(*pff)表示一个指针,(*pff)()表示函数指针,float (*pff)();表示返回值为float的函数指针。
-
-
函数调用
- 直接函数调用:
ff(); - 指针函数调用:
(*pff)()
- 直接函数调用: