1. 如果函式沒有宣告, 應該在呼叫前定義:
#include
/* 定義求大值函式 */
int max(int x, int y)
/* 定義求小值函式 */
int min(int x, int y)
int main(void)
2. 可以在函式頭宣告:
#include
int main(void)
/* 定義求大值函式 */
int max(int x, int y)
/* 定義求小值函式 */
int min(int x, int y)
3. 但一般應在檔案頭宣告:
函式原型的宣告在實際運用中, 會集中宣告在標頭檔案(*.h)裡面.
#include
/* 在檔案頭宣告要使用的函式 */
int max(int x, int y);
int min(int x, int y);
int main(void)
/* 定義求大值函式 */
int max(int x, int y)
/* 定義求小值函式 */
int min(int x, int y)
4. 函式可互呼叫, 但不能巢狀:
#include
void printsum(int x, int y);
int sum(int x, int y);
int main(void)
void printsum(int x, int y)
int sum(int x, int y)
5. 關於無引數、無返回值的函式:
如果函式沒有引數, 最好是 fun(void), 不過 fun() 也行;
如果函式沒有返回值, 要註明返回型別是 void;
在c/c++中呼叫無參函式也要帶括號.
#include
void prn(void);
int main(void)
void prn(void)
6. 宣告函式時可以省略形參:
#include
int sum(int, int, int); /* 省略形式引數 */
int main(void)
int sum(int x, int y, int z)
7. 函式的引數一般不要超過 7 個:
但 c 99 可以支援到 127 個引數.
#include
int sum(int, int, int, int, int, int, int);
int main(void)
int sum(int a, int b, int c, int d, int e, int f, int g)
變數和函式的宣告與定義(C C )
在c語言編碼經常是 變數與函式的宣告 放在標頭檔案中,它們相應的定義 放在原始檔中。有時候由於 簡單為了方便看,我們並沒有這麼規範的做,而是都寫在了一起。加上變數的宣告和定義同時存在,這樣一來給人的誤解是 覺得宣告即是定義,定義即是宣告。造成這種混淆並不奇怪,因為變數在大多數情況下,宣告的同時就定義...
extern 宣告函式和定義函式
extern 關鍵字放在函式宣告之前 test.h extern int test 如果這樣函式的宣告中帶有關鍵字extern,僅僅是暗示這個函式可能在別的原始檔裡定義。這樣一來,就是在程式中取代include h 來宣告函式,在一些複雜的專案中,比較習慣在所有的函式宣告前新增extern修飾,以防...
函式的宣告和定義
函式的宣告格式 返回值型別 函式名 形參表 函式的定義格式 返回值型別 函式名 形參表 函式可以不用宣告,直接定義,其實是吧定義與宣告放在一起 函式的宣告是告訴編譯器,我有這樣乙個函式,如果在其他地方呼叫時,編譯器就會在整個文尋找函式 函式宣告後,在編譯時,即使函式未被定義,只要函式沒被呼叫,也可以...