色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>C/C++語言編程>

C語言static和extern使用方法的介紹

大小:0.1 MB 人氣: 2017-11-21 需要積分:0

 一.變量

  對于變量來說,

  (1)extern int a;//聲明一個全局變量a,

  (2)int a; //定義一個全局變量a,

  (3)extern int a =0 ;//定義一個全局變量a 并給初值,

  (4)int a =0;//定義一個全局變量a,并給初值。

  上述4種情形,(3)與(4)等同。

  定義只能在一處出現,但聲明可以在多處出現。也就是說,不管是int a;還是extern int a=0;還是int a=0;都只能出現一次,而extern int a可以出現很多次。

  當你要引用一個全局變量的時候,你就要聲明,extern int a;這時候extern不能省略,因為省略了,就變成int a;這是一個定義,不是聲明。

  二.函數

  對于函數來說,定義的時候用extern,說明這個函數是可以被外部引用的,聲明的時候用extern說明這是一個聲明。但由于函數的定義和聲明是有區別的,定義函數要有函數體,聲明函數沒有函數體,所以函數定義和聲明時都可以將extern省略掉,反正其他文件也是知道這個函數是在其他地方定義的,所以不加extern也行。

  總結:

  1)對變量而言,如果你想在本源文件中使用另一個源文件的變量,就需要在使用前用extern聲明該變量,或者在頭文件中用extern聲明該變量;

  2)對函數而言,如果你想在本源文件中使用另一個源文件的函數,就需要在使用前用聲明該變量,聲明函數加不加extern都沒關系,所以在頭文件中函數可以不用加extern。

  第二章 static使用方法

  一. 全局靜態變量

  在全局變量之前加上關鍵字static,全局變量就被定義成為一個全局靜態變量。

  1)內存中的位置:靜態存儲區(靜態存儲區在整個程序運行期間都存在);

  2)初始化:未經初始化的全局靜態變量會被程序自動初始化為0(自動對象的值是任意的,除非他被顯示初始化);

  3)作用域:全局靜態變量在聲明他的文件之外是不可見的,準確地講,從定義之處開始到文件結尾。

  定義全局靜態變量的好處:

  《1》不會被其他文件所訪問、修改;

  《2》其他文件中可以使用相同名字的變量,不會發生沖突。

  二.局部靜態變量

  在局部變量之前加上關鍵字static,局部變量就被定義成為一個局部靜態變量。

  1)內存中的位置:靜態存儲區

  2)初始化:未經初始化的全局靜態變量會被程序自動初始化為0(自動對象的值是任意的,除非他被顯示初始化)

  3)作用域:作用域仍為局部作用域,當定義它的函數或者語句塊結束的時候,作用域隨

  之結束。

  注:當static用來修飾局部變量的時候,它就改變了局部變量的存儲位置,從原來的棧中存放改為靜態存儲區。但是局部靜態變量在離開作用域之后,并沒有被銷毀,而是仍然駐留在內存當中,直到程序結束,只不過我們不能再對他進行訪問。當static用來修飾全局變量的時候,它就改變了全局變量的作用域(在聲明他的文件之外是不可見的),但是沒有改變它的存放位置,還是在靜態存儲區中。

  三. 靜態函數

  在函數的返回類型前加上關鍵字static,函數就被定義成為靜態函數。函數的定義和聲明默認情況下是extern的,但靜態函數只是在聲明他的文件當中可見,不能被其他文件所用。

  定義靜態函數的好處:

  《1》 其他文件中可以定義相同名字的函數,不會發生沖突

  《2》 靜態函數不能被其他文件所用。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 999久久久国产精品蜜臀AV| 无码AV熟妇素人内射V在线| 亚洲刺激视频| 好湿好滑好硬好爽好深视频| 羽月希被黑人吃奶dasd585| 麻豆沈芯语| 夜色视频社区| 蜜柚视频高清在线| 中文字幕欧美日韩VA免费视频| 男女久久久国产一区二区三区| 丰满老熟好大bbbxxx| 青草伊人久久| 国产女合集第六部| 中文人妻熟妇精品乱又伧| 欧美成人免费一区二区三区不卡| 在线免费视频国产| 精品高潮呻吟99AV无码| 55夜色66夜亚洲精品播放| 色精品极品国产在线视频| 精品免费在线视频| 草莓视频免费看| 日本黄色www| 换脸国产AV一区二区三区| CHRISTMAS农村夫妻HO| 亚洲a免费| 青春草久久| 久久精品中文字幕| 国产精品搬运| 92精品国产成人观看免费| 亚州AV中文无码乱人伦在线 | 久久欧洲视频| 国产成a人片在线观看视频99| 尤物久久99国产综合精品| 涩涩伊人久久无码欧美| 国产成人mv 在线播放| 正在播放黑人杂交派对卧槽 | 夜色伊甸园| 忘忧草秋观看未满十八| 欧美18videosex性欧美老师| 草莓西瓜樱桃香蕉直播视频| 一本道无码v亚洲|