青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

static int x=0;和static int x;x=0;為什么不一樣呢?

因為:
如果沒有static :
int x = 0;// 聲明,并初始化為0
int x; // 聲明
// 在此期間訪問會遇到隨機值(這么做應(yīng)該被認為是錯誤的!)
x = 0; // 初始化
如果加了static :
【static int x=0;和static int x;x=0;為什么不一樣呢?】static int x = 0; // 聲明并初始化(此時為初始化賦值,如果這條語句出現(xiàn)在函數(shù)中,即便被多次調(diào)用,也只會執(zhí)行一次 。)
static int x; // 聲明并使用默認初始化值
// 在此期間訪問會得到靜態(tài)變量的系統(tǒng)默認值(int型為0)
x = 0; // 賦值為0

static int x=0;和static int x;x=0;為什么不一樣呢?


注意事項
1、static全局變量和普通的全局變量
static全局變量在定義該變量的當(dāng)前源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它 。而普通的全局變量在各個源文件中都是有效的(當(dāng)一個源程序由多個源文件組成時) 。
2、static局部變量和普通的局部變量
static局部變量存放在靜態(tài)存儲區(qū),其只在當(dāng)前函數(shù)中起作用,但是其生存周期是直到當(dāng)前程序結(jié)束為止,而局部變量存在于棧中 。
3、static函數(shù)和普通函數(shù)
static函數(shù)只在當(dāng)前源文件中起作用,在其他文件中不起作用 。普通函數(shù)則可在其他源文件中調(diào)用 。

    猜你喜歡