函數的目的是為了要把程式"模組化",變成一區一區的獨立個體!
獨立個體這樣方便"開發"與"測試",再以"呼叫"的方式來使用
函數的兩大目的:
一. 減少重複撰寫類似功能的程式
二. 易於除錯和維護
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 全域變數: 宣告這個全域變數只能在自己的檔案內才能適用!
沒有留言:
張貼留言