C語言:函數 與 程序結構

源自《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函數的定義
  • 其他函數的定義

在每個函數定義前:放盒型註釋,可以給出:

  • 函數名
  • 描述函數的目的
  • 討論每個形式參數的含義
  • 描述返回值
  • 羅列所有的副作用——如:修改外部變量的值

 

 

待續....

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章