小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C++ 全局變量、靜態(tài)全局變量和靜態(tài)局部變量的異同?能結(jié)合代碼詳細(xì)分析一下嗎?謝謝 - 已...

 昵稱2859631 2010-08-25

全局變量與靜態(tài)全局變量的主要區(qū)別是:作用域不同.

全局變量的作用域不僅在本文件中可以使用,在其他文件中也可以使用.但靜態(tài)全局變量只能在本文件中使用.

如假設(shè)在1.cpp里定義了一個全局變量int g_val=1;一個靜態(tài)全局變量int s_val=2

在2.cpp里可以正常使用g_val這個變量,但是不能訪問s_val這個變量.

//1.cpp

#include<iostream>
using namespace std;

int g_val=1;
static int s_val=2;
int main()
{
return 0;

}
//2.cpp

extern int g_val;//要加extern關(guān)鍵字
extern int s_val;//雖然這個也可引用
void test()
{
 g_val=0;
 s_val=3;//這里訪問出錯.
}

 

靜態(tài)局部變量與一般局部變量的區(qū)別就是:生存期不同

靜態(tài)局部變量的生存期在程序運行期間都存在,下一次會引用上次訪問的值.

#include<iostream>
using namespace std;
void fun()
{
 int i=0;//下一次進(jìn)來的時候這步仍執(zhí)行,即i又變回0
 static int val=0;//只初始化一次,下一次進(jìn)來這個函數(shù)的時候,val的值是引用上次的值.而不是0
 val++;
 i++;
 cout<<"靜態(tài)局部變量:"<<val<<endl;
 cout<<"一般局部變量:"<<i<<endl;

}
int main()
{
 fun();
 fun();
 return 0;

}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多