請幫忙點一下!謝謝!

2015年9月4日 星期五

7. C++ 函數

函數的目的是為了要把程式"模組化",變成一區一區的獨立個體!
獨立個體這樣方便"開發"與"測試",再以"呼叫"的方式來使用
函數的兩大目的:
        一. 減少重複撰寫類似功能的程式
        二. 易於除錯和維護
1. 函數語法分為三部分
    一. 函數的宣告:
          建立函數的"原型"以及進入這函數的資料"型態"及"數量"
          ex:   double SumNumber(double, double);
    二. 函數的定義:
          此函數的程式內容
    三. 函數的呼叫:
          如何使用此函數

2. 函數呼叫時,參數的傳遞方式:
    一. 傳值呼叫 call by value
          當函數被呼叫時,引數先被複製到記憶體,執行次序和控制權
          都交給被呼叫的函數。
    二. 傳參照呼叫  call by reference
          基本的函數瘦到只能傳回一個數值的限制。
          EX:
                int N;
                int &M = N;
                M所做的變化都等同直接作用在N上        

3. 變數的"儲存種類"和"生存期間":
    一. 儲存種類:
          1. auto (automatic): 變數只在函數被呼叫時才存在
          2. static: 被宣告為static變數不隨函數呼叫結束時而消失!
                        直到整個程式結束才會消失!
          3. register: 記憶體,變數被宣告為register變數時,會存在CPU內,
                            提升函數的執行速度,但空間有限,實際效益不大!!
    二. 生存期間:
          1. 局部變數:
              變數只能在"函數"內部使用,稱之為局部變數!
          2. 全域變數:
              把變數宣告在所有函數之前,則這些變數可供所有函數使用,稱之為全域變數!
              (1) Extern 全域變數:宣告這個變數已經在其他檔案內定義過!
              (2) Static 全域變數:  宣告這個全域變數只能在自己的檔案內才能適用!
                 






沒有留言: