您好,登錄后才能下訂單哦!
在c語言中代碼的執行順序是從上往下執行的,如果定義的函數或者變量在調用之后,那么調用的時候編譯就會找不到需要使用的變量。這樣就會出現錯誤,如下代碼:
#include<stdio.h>
int main(){
printf("%d",num);
function();
return 0;
}
int num =5;
void function(){
printf(" hello word main function\n");
}
執行這句代碼就會出現錯誤,錯誤原因就是因為,num和funcion函數定義在main函數的下面導致main函數中執行num和function的時候編譯器并沒有編譯到那里所有編譯器就會認為沒有定義num和function 函數所以會出現錯誤。那么我可以使用extern關鍵字來改正個問題。extern關鍵字可以 讓變量全局化。
#include<stdio.h>
extern int num ;
void function();
int main(){
printf("%d",num);
function();
return 0;
}
int num =5;
void function(){
printf(" hello word main function\n");
}
這樣就可以正常運行了。extern 關鍵字還可以調用其他.c文件中的變量和函數 如下:
test_extern.c
#include<stdio.h>
int num =5;
int age=29;
char name="make";
void func(){
printf(" 調用 test_extern函數!!\n ");
}
test_main.c
#include<stdio.h>
int main(){
extern int num ;
extern int age;
extern char name;
extern void func();
func();
printf("%d\n",num);
printf("%d\n",age);
pirntf("%s\n",name);
return 0;
}
執行上面代碼就可以在test_main文件中打印出test_extern文件中的字段和方法。這樣寫有一個好處就是可以不用再文件中因為別的 .h頭文件,因為如果引用.h頭文件就可以調用.h文件中所有的函數和字段,這樣不是很安全,所以如果想代用另外一個.c源文件的函數時可以使用extern關鍵字來調用這樣提高 了函數的安全性。
總結:extern 有三種用三,在本文件中使變量全局化,調用其他源文件中的字段,調用其他源文件中的函數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。