C語言之易錯點

2021-10-12 18:33:23 字數 772 閱讀 3837

變數的宣告有兩種情況:

extern int i; //宣告,不是定義

int i; //宣告,也是定義

extern是乙個修飾符,在c語言中,修飾符extern用在變數或者函式的宣告前,用來說明「此變數/函式是在別處定義的bai,要在此處引用」。extern可置於變數或者函式前,以表示變數或者函式的定義在別的檔案中,提示編譯器遇到此變數或函式時,在其它模組中尋找其定義。另外,extern也可用來進行鏈結指定。

在標頭檔案中宣告函式時,前面的extern可有可無,只要這些函式曾在某個.c檔案中實現就行了,不過一些函式沒有在所包含的標頭檔案中給出宣告,同時函式的定義位於其它檔案中,這時候使用該函式的.c檔案必須用extern標記該函式為外部函式。例子:

/* c.h */

extern int max(int a, int b);

extern int min(int a, int b);

/* a.c */

#include /* 這裡需要明確指定output為extern函式 */

extern void output();

int max(int a, int b)

int min(int a, int b)

void main()

/* b.c */

#include "c.h"

void output()

C語言易錯點

c語言易錯點 1.每個c語言程式中main函式是有且只有乙個的。2.演算法可以沒有輸入,但必須要有輸出。3.在函式中不可以再定義函式。4.break可用於迴圈結構和switch語句。5.break和continue的區別在於前者是跳出迴圈,後者是結束本次迴圈。6.逗號的運算子的級別最低。7.c語言對...

C語言易錯點

1.c程式的原始檔拓展名為.c 2.include 是c語言的預處理指令之一,所謂預處理,就是在編譯之前做的處理,預處理指令一般以 開頭 3.乙個c程式中一定會有乙個main函式,也只能有乙個main函式。main函式是整個c程式的入口。1.在編譯前先執行 include指令,拷貝stdio.h的內...

C語言易錯點總結

一下分為幾個部分分別加以說明。一 關鍵字 1.什麼是定義?什麼是宣告?兩者有何區別?答 定義是建立乙個物件,並未該物件分配一塊記憶體和取乙個名字,這個名字就是變數名或者物件名 宣告是告訴編譯器這個變數或者物件的記憶體已經存在,這裡只是引用。兩者最重要的區別在於,定義建立了物件並為物件分配了記憶體,而...