c語言中extern的意思是什么?
extern的作用是告訴下面的程序,用它修飾的變量的定義在別處,編譯器沒有編譯時不要管它是在哪里定義的!否則編譯器會找到變量的定義!定義就是給變量分配空間!這個通常用來引用別人定義的變量,別人給你的確實是庫文件!這時,唐以這種編譯時不要尋找定義,而是在鏈接時尋找定義!因為鏈接的時候只看庫文件!
在C語言中,修飾符extern用在變量或函數的聲明之前,以解釋"這個變量/函數在別處有定義,應該在這里引用。Extern可以放在變量或函數之前,表示該變量或函數的定義在另一個文件中,提示編譯器在遇到該變量或函數時在其他模塊中查找其定義。
比如a文件里有一個intc。文件b包括文件a,你可以寫externintc;在b;調用中的c變量
:外部行動
僅用于獲取全局變量(包括全局靜態變量)的值,不能用于定義變量。
:外部工作原理
首先,在當前文件中尋找全局變量。如果沒有找到全局變量,請在其他文件中查找它們。
在c語言中,主函數可以調用任意一個函數,但是不能使用其它函數中定義的變量。這句話對不對?
不知道,
主函數可能無法調用任何函數。如果該函數被修飾為靜態屬性,并且與main函數不在同一個文件中,那么main就不能調用這個函數。
不能使用在其他函數中定義的變量是正確的。
c語言提示某個函數未定義求幫忙?
編譯C語言程序時,如果提示某個函數未定義,可能有幾個原因,比如當前文件中沒有包含:系統文件,沒有包含用戶函數所在的文件,程序中的函數名或參數使用錯誤等。
c語言將兩個函數合成一個函數?
//定義一個圓的函數,一個標志變量,一個半徑。flag為0時,求面積,不為0時,求周長浮點元(intflag,floatr){if(flag0){returnpai*r*r;}else{returnpai*2*r;}}