欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

詳解C語(yǔ)言正確使用extern關(guān)鍵字

利用關(guān)鍵字extern,可以在一個(gè)文件中引用另一個(gè)文件中定義的變量或者函數(shù),下面就結(jié)合具體的實(shí)例,分類(lèi)說(shuō)明一下。

創(chuàng)新互聯(lián)自成立以來(lái),一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開(kāi)發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷(xiāo)服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開(kāi)發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開(kāi)發(fā)工程師團(tuán)隊(duì)及專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。

一、引用同一個(gè)文件中的變量

#include<stdio.h>

int func();

int main()
{
  func(); //1
  printf("%d",num); //2
  return 0;
}

int num = 3;

int func()
{
  printf("%d\n",num);
}

如果按照這個(gè)順序,變量 num在main函數(shù)的后邊進(jìn)行聲明和初始化的話,那么在main函數(shù)中是不能直接引用num這個(gè)變量的,因?yàn)楫?dāng)編譯器編譯到這一句話的時(shí)候,找不到num這個(gè)變量的聲明,但是在func函數(shù)中是可以正常使用,因?yàn)閒unc對(duì)num的調(diào)用是發(fā)生在num的聲明和初始化之后。

如果我不想改變num的聲明的位置,但是想在main函數(shù)中直接使用num這個(gè)變量,怎么辦呢?可以使用extern這個(gè)關(guān)鍵字。像下面這一段代碼,利用extern關(guān)鍵字先聲明一下num變量,告訴編譯器num這個(gè)變量是存在的,但是不是在這之前聲明的,你到別的地方找找吧,果然,這樣就可以順利通過(guò)編譯啦。但是你要是想欺騙編譯器也是不行的,比如你聲明了extern int num;但是在后面卻沒(méi)有真正的給出num變量的聲明,那么編譯器去別的地方找了,但是沒(méi)找到還是不行的。

下面的程序就是利用extern關(guān)鍵字,使用在后邊定義的變量。

#include<stdio.h>

int func();

int main()
{
  func(); //1
  extern int num;
  printf("%d",num); //2
  return 0;
}

int num = 3;

int func()
{
  printf("%d\n",num);
}

二、引用另一個(gè)文件中的變量

如果extern這個(gè)關(guān)鍵字就這點(diǎn)功能,那么這個(gè)關(guān)鍵字就顯得多余了,因?yàn)樯线叺某绦蚩梢酝ㄟ^(guò)將num變量在main函數(shù)的上邊聲明,使得在main函數(shù)中也可以使用。
extern這個(gè)關(guān)鍵字的真正的作用是引用不在同一個(gè)文件中的變量或者函數(shù)。

main.c

#include<stdio.h>

int main()
{
  extern int num;
  printf("%d",num);
  return 0;
}

b.c

#include<stdio.h>

int num = 5;

void func()
{
  printf("fun in a.c");
}

例如,這里b.c中定義了一個(gè)變量num,如果main.c中想要引用這個(gè)變量,那么可以使用extern這個(gè)關(guān)鍵字,注意這里能成功引用的原因是,num這個(gè)關(guān)鍵字在b.c中是一個(gè)全局變量,也就是說(shuō)只有當(dāng)一個(gè)變量是一個(gè)全局變量時(shí),extern變量才會(huì)起作用,向下面這樣是不行的。

mian.c

#include<stdio.h>

int main()
{
  extern int num;
  printf("%d",num);
  return 0;
}

b.c

#include<stdio.h>

void func()
{
  int num = 5;
  printf("fun in a.c");
}

另外,extern關(guān)鍵字只需要指明類(lèi)型和變量名就行了,不能再重新賦值,初始化需要在原文件所在處進(jìn)行,如果不進(jìn)行初始化的話,全局變量會(huì)被編譯器自動(dòng)初始化為0。像這種寫(xiě)法是不行的。

extern int num=4;

但是在聲明之后就可以使用變量名進(jìn)行修改了,像這樣:

#include<stdio.h>

int main()
{
  extern int num;
  num=1;
  printf("%d",num);
  return 0;
}

如果不想這個(gè)變量被修改可以使用const關(guān)鍵字進(jìn)行修飾,寫(xiě)法如下:

mian.c

#include<stdio.h>

int main()
{
  extern const int num;
  printf("%d",num);
  return 0;
}

b.c

#include<stdio.h>

const int num=5;
void func()
{
  printf("fun in a.c");
}

使用include將另一個(gè)文件全部包含進(jìn)去可以引用另一個(gè)文件中的變量,但是這樣做的結(jié)果就是,被包含的文件中的所有的變量和方法都可以被這個(gè)文件使用,這樣就變得不安全,如果只是希望一個(gè)文件使用另一個(gè)文件中的某個(gè)變量還是使用extern關(guān)鍵字更好。

三、引用另一個(gè)文件中的函數(shù)

extern除了引用另一個(gè)文件中的變量外,還可以引用另一個(gè)文件中的函數(shù),引用方法和引用變量相似。

mian.c

#include<stdio.h>

int main()
{
  extern void func();
  func();
  return 0;
}

b.c

#include<stdio.h>

const int num=5;
void func()
{
  printf("fun in a.c");
}

這里main函數(shù)中引用了b.c中的函數(shù)func。因?yàn)樗械暮瘮?shù)都是全局的,所以對(duì)函數(shù)的extern用法和對(duì)全局變量的修飾基本相同,需要注意的就是,需要指明返回值的類(lèi)型和參數(shù)。

以上所述是小編給大家介紹的C語(yǔ)言正確使用extern關(guān)鍵字詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!

網(wǎng)站標(biāo)題:詳解C語(yǔ)言正確使用extern關(guān)鍵字
鏈接地址:http://aaarwkj.com/article22/pdhjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、定制開(kāi)發(fā)關(guān)鍵詞優(yōu)化、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、App開(kāi)發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产成人亚洲一区二区三区| 欧美日韩一区二区三区四区高清视频| 九九热这里只有免费视频| 亚洲国际精品女人乱码| 操国产熟女大白屁股| 不用播放器的av蜜臀| 日韩欧美一区二区三区在线| 欧美日韩精品人妻中文| 国产精品久久久久精品三级中文国| av丰满人妻一区二区| 国产精品免费看片网站| 久久久久久国产精品亚洲| 久久男女激情免费视频| 日本国产美女精品一区二区| 91欧美视频在线观看| 国产一区二区精品久久岳| 在线播放欧美视频91| 91桃色网站在线免费观看| 午夜一区二区精品视频国产| 亚洲欧美激情专区在线| 精品亚洲一区二区三区| 中文字幕国产成人在线视频| 亚洲不卡在线视频免费| 亚洲一区二区福利视频| 精品视频偷拍一区二区三区| 久久久久久亚洲精品人妻| 日韩欧美中文在线一区二区| 亚洲欧美成人免费视频| 亚洲精品乱码精品乱码不卡| 欧美日韩精品亚洲成人精品 | 午夜神马福利激情视频| 99久热在线精品视频| 十八禁在线观看点击进入| 欧美黄片精品在线观看| 97门久欧美日韩久久| 精品欧美不卡在线播放| 亚洲一区二区三区四区国产| 中文字幕精品人妻在线| 亚洲s码在线一区二区| 久久久久久精品妇女| 九九99九九99九九精品在线观看|