麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > C > 正文

C語(yǔ)言static修飾函數(shù)詳細(xì)解析

2020-01-26 15:56:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在C語(yǔ)言中,static的字面意思很容易把我們導(dǎo)入歧途,其實(shí)它的作用有三條。
介紹它的第一條也是最重要的一條:隱藏。
當(dāng)我們同時(shí)編譯多個(gè)文件時(shí),所有未加static前綴的全局變量和函數(shù)都具有全局可見(jiàn)性。為理解這句話(huà),我舉例來(lái)說(shuō)明。我們要同時(shí)編譯兩個(gè)源文件,一個(gè)是a.c,另一個(gè)是main.c。

下面是a.c的內(nèi)容

復(fù)制代碼 代碼如下:

char a = 'A'; // global variable
void msg()
{
    printf("Hello/n");
}

下面是main.c的內(nèi)容
復(fù)制代碼 代碼如下:

int main(void)
{   
    extern char a;    // extern variable must be declared before use
    printf("%c ", a);
    (void)msg();
    return 0;
}

程序的運(yùn)行結(jié)果是:
A Hello

你可能會(huì)問(wèn):為什么在a.c中定義的全局變量a和函數(shù)msg能在main.c中使用?前面說(shuō)過(guò),所有未加static前綴的全局變量和函數(shù)都具有全局可見(jiàn)性,其它的源文件也能訪(fǎng)問(wèn)。此例中,a是全局變量,msg是函數(shù),并且都沒(méi)有加static前綴,因此對(duì)于另外的源文件main.c是可見(jiàn)的。

如果加了static,就會(huì)對(duì)其它源文件隱藏。例如在a和msg的定義前加上static,main.c就看不到它們了。利用這一特性可以在不同的文件中定義同名函數(shù)和同名變量,而不必?fù)?dān)心命名沖突。Static可以用作函數(shù)和變量的前綴,對(duì)于函數(shù)來(lái)講,static的作用僅限于隱藏

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 国产精品欧美久久久久一区二区 | 成人精品一区二区 | 成人免费一区二区三区在线观看 | 操你啦免费视频 | 91精品国产91热久久久做人人 | 激情视频免费看 | 亚洲天堂中文字幕在线观看 | 91av在线免费播放 | 国产日产精品一区二区三区四区 | 国产亚洲黑人性受xxxx精品 | 亚洲91精品| 私库av在线免费观看 | 日本在线视频一区二区三区 | 国产一区二区在线免费播放 | 久久亚洲精选 | 久久久av亚洲男天堂 | av电影在线观看网站 | 成人激情视频网 | 国产亲子伦在线观看 | 成人视屏在线观看 | 男人的天堂毛片 | 一级片999| 黄色淫片| 久久99久久99免费视频 | 成人在线第一页 | 一级国产免费 | 逼片 | 欧美成人免费电影 | 欧美激情第一区 | 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | 亚洲精品一区二区三区在线看 | japanese massage tube| 精品国产一区二区三区久久久 | 国产免费一级 | 国产二区三区在线播放 | 亚洲成人入口 | 黄色网址进入 | 日韩做爰视频免费 | 免费黄色大片网站 | 久久精品国产99久久久古代 | 日韩视频在线观看免费 |