日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 extern - C语言零基础入门教程

發布時間:2024/9/27 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 語言 數組下標越界和內存溢出區別
  • C 語言 使用指針遍歷數組
  • C 語言 指針和數組區別
  • C 語言 指針數組和數組指針區別
  • C 語言 野指針
  • C 語言 函數值傳遞和址傳遞
  • C 語言 函數不定長參數
  • C 語言 函數指針
  • C 語言 指針函數
  • C 語言 回調函數 callback
  • C 語言 #pragma once
  • C 語言 #include <> 與 #include “” 區別
  • C 語言 const 修飾函數參數
  • C 語言 const 和 define 區別
  • C 語言 #運算符
  • C 語言 ##運算符
  • C 語言 __VA_ARGS__
  • C 語言 ##__VA_ARGS__
  • C 語言 函數不定長參數 ##__VA_ARGS__經典案例
  • C 語言 va_start / va_end / va_arg 自定義 printf 函數
  • C 語言 main 函數
  • C 語言 main 函數參數 main(int argc, char *argv[])
  • C 語言 局部變量
  • C 語言 全局變量
  • C 語言 全局變量和局部變量區別
  • C 語言 static
  • C 語言 extern
  • 未經允許不得轉載:猿說編程 ? C 語言 extern

    總結

    以上是生活随笔為你收集整理的C语言 extern - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。