源自《C語言程序設計現代方法》的讀書筆記
“幽默對於學習新東西是相當重要的”
一、函數
函數就是一連串語句,這些語句被組合在一起,並指定了一個名字。每個函數本質上是一個自帶聲明和語句的小程序。
1、不返回任何值的程序
void ave(...)
{...}
2、不傳入參數的程序
void ave(void)
{...}
調用
ave(); 沒有參數也需要寫括號
3、函數定義
返回類型 函數名(形式參數)
{
聲明
語句
}
函數不能返回數組,但是可以通過指針實現類似效果
4、子函數可以放置在main函數之後
#include<stdio.h>
double ave(double a,double b); /*聲明*/
int main(void){
...//調用ave
}
double ave(double a,double b){
return (a+b)/2
}
二、程序結構(程序包含多個多個函數時所產生的問題)
1、靜態局部變量
void f(void){
static int i;
}
局部變量 i 聲明爲static,所以,在程序執行期間它所佔據的內存單元不變,在 f 返回時,變量 i 的值不會丟失。但始終有塊作用域,所以,對其他函數是不可見的。
總而言之:靜態變量是對其他函數隱藏數據的地方,但是它會爲將來同一個函數的再調用保留這些數據。
2、程序編排順序
- #include指令
- #define指令
- 類型定義
- 外部變量的聲明
- 除main函數之外的函數的原型
- main函數的定義
- 其他函數的定義
在每個函數定義前:放盒型註釋,可以給出:
- 函數名
- 描述函數的目的
- 討論每個形式參數的含義
- 描述返回值
- 羅列所有的副作用——如:修改外部變量的值
待續....