最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年08月13日 10:23:31   作者:  
以下是對(duì)C語(yǔ)言中的static修飾函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下

在C語(yǔ)言中,static的字面意思很容易把我們導(dǎo)入歧途,其實(shí)它的作用有三條。
介紹它的第一條也是最重要的一條:隱藏。
當(dāng)我們同時(shí)編譯多個(gè)文件時(shí),所有未加static前綴的全局變量和函數(shù)都具有全局可見性。為理解這句話,我舉例來說明。我們要同時(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ì)問:為什么在a.c中定義的全局變量a和函數(shù)msg能在main.c中使用?前面說過,所有未加static前綴的全局變量和函數(shù)都具有全局可見性,其它的源文件也能訪問。此例中,a是全局變量,msg是函數(shù),并且都沒有加static前綴,因此對(duì)于另外的源文件main.c是可見的。

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

相關(guān)文章

最新評(píng)論

德惠市| 栖霞市| 同德县| 宝坻区| 钦州市| 安西县| 彰武县| 昭苏县| 山阴县| 晋州市| 瑞丽市| 巩留县| 玛多县| 八宿县| 隆安县| 昂仁县| 本溪| 鸡泽县| 湖口县| 天津市| 临高县| 天峻县| 剑河县| 河曲县| 永福县| 南和县| 利川市| 无为县| 会同县| 定安县| 托克逊县| 应用必备| 克东县| 罗甸县| 娄烦县| 泊头市| 林口县| 留坝县| 芜湖市| 金川县| 揭东县|