C语言 extern - C语言零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
C语言 extern - C语言零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.簡介
- 二.extern 修飾變量
- 1.在單文件中使用 extern
- 2.在多文件中使用 extern
- 三.extern 修飾函數
- 四.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.簡介
如果一個變量使用用關鍵字 extern ,對該變量作“外部變量聲明”,表示該變量是一個已經定義的外部變量。有了此聲明,就可以從“聲明”處起,合法地使用該外部變量。
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 extern //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************//* file1.c */int x = 10; int func1();/* file2.c */extern int x ; //該變量是已經在外部定義,此處只做一個聲明 extern int func1();//該函數是已經在外部定義,此處只做一個聲明int main(void) {printf("x = %d",x); // x = 10fun1();return 0; }二.extern 修飾變量
1.在單文件中使用 extern
首先我們回到全局變量中有講到:在所有函數外部定義的變量稱為全局變量(Global Variable),它的作用域默認是從定義變量的位置到本源文件結束都有效。
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 extern //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include <stdio.h>void func1(){x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}int x = 10; int y = 20;void func2(){x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);} int main(){func1();func2();printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0; } /* 輸出:main.cpp: In function ‘void func1()’: main.cpp:6:5: error: ‘x’ was not declared in this scope6 | x += 10;| ^ main.cpp:7:2: error: ‘y’ was not declared in this scope7 | y += 20;| ^*/對于上面的編譯器報錯,我們可以通過 extern 來解決這個問題,示例代碼如下:
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 extern //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include <stdio.h>void func1(){extern int x; //聲明一個外部變量extern int y; //聲明一個外部變量x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}int x = 10; //全局變量 int y = 20;void func2(){x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);} int main(){func1();func2();printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0; } /* 輸出:函數:func1 中 x = 20 y = 40 函數:func2 中 x = 30 y = 60 函數:main 中 x = 30 y = 60*/2.在多文件中使用 extern
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 extern //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************//****max.c****/ #include <stdio.h>/*定義兩個全局變量*/ int x=10; int y=20; int max() {return (x > y ? x : y); }/***main.c****/ #include <stdio.h>/*extern 聲明外部變量*/ extern int x ; extern int y ;int main(void) {printf("x = %d y = %d\n",x,y);return 0; }有了 extern 聲明的外部變量可以直接使用,注意:使用 extern 聲明的外部變量不需要再次初始化,僅僅只是作為一個聲明而已,該變量的定義已經在其他文件中完成!
三.extern 修飾函數
使用 extern 修飾函數,使用原理和上面 extern 修飾變量類似,有 extern 修飾之后,可以作為一個外部聲明,我們直接調用即可;
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 extern //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************//****test.c****/ #include <stdio.h>/*定義函數*/ int test_printf() {printf("this func is %s\n",__FUNCTION__);return 0; }/***main.c****/ #include <stdio.h>/*extern 聲明外部函數*/ extern int test_printf() ;int main(void) {test_printf();return 0; }四.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言 extern
總結
以上是生活随笔為你收集整理的C语言 extern - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jq之$(“p.test“)
- 下一篇: jq之无callback,有 alert