變量初始化的意義

在C/C++程序中一般有一下存儲(chǔ)區(qū):
1.棧绞蹦,由編譯器自動(dòng)分配釋放萎馅,一般指函數(shù)內(nèi)部的存儲(chǔ)空間侣诺。
2.堆,由程序員手動(dòng)分配釋放假栓,若未釋放,程序結(jié)束時(shí)會(huì)被由OS回收
代碼中通過new/malloc/relloc等顯示申請(qǐng)的內(nèi)存都屬于堆上霍掺,這些內(nèi)存需要手動(dòng)的去free/delete
3.靜態(tài)存儲(chǔ)區(qū):全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的匾荆,初始化的全局變量和靜態(tài)變量在一塊區(qū)域,未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域杆烁。
4.常量存儲(chǔ)區(qū)牙丽,這是一塊比較特殊的存儲(chǔ)區(qū),他們里面存放的是常量兔魂,不允許修改

在學(xué)習(xí)C語言的時(shí)候烤芦,絕大部分教材里一定會(huì)降到聲明變量的時(shí)候需要初始化。

int a;
printf("%d", a);   //此時(shí)的輸出就可能是一個(gè)隨機(jī)值析校。

看一個(gè)例子:

void f() {
  int a = 1;
  printf("address %p:%d", &a, a);
}
void g() {
  int a ;
  printf("address %p:%d", &a, a);
}
int main() {
  f();
  g();
  return 0;
}
結(jié)果輸出:
address0x7fffbf281ea4:1
address0x7fffbf281ea4:1

為什么兩個(gè)a的地址一樣构罗?

f和g兩個(gè)函數(shù)內(nèi)的a都是棧上的空間铜涉,f()執(zhí)行完后,那塊棧上空間遂唧,已經(jīng)被回收芙代,標(biāo)記為可用了。然后調(diào)用g()盖彭,g和f的大小是一樣的纹烹,沒出意外的話,g的棧地址還是從上次f的那塊開始召边,所以a地址一樣的铺呵。

為什么兩個(gè)a的值一樣?

椪剖担空間被回收了陪蜻,只是表示那塊地址可以被使用,但地址里的內(nèi)容贱鼻,系統(tǒng)可不否則維護(hù)宴卖,在你釋放了后去檫除,所以g中的a指向了上次a的那塊地址邻悬,內(nèi)容還是那塊內(nèi)容症昏。所以a的值還是1。
這就是變量初始化的意義父丰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肝谭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蛾扇,更是在濱河造成了極大的恐慌攘烛,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镀首,死亡現(xiàn)場(chǎng)離奇詭異坟漱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)更哄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門芋齿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人成翩,你說我怎么就攤上這事觅捆。” “怎么了麻敌?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵栅炒,是天一觀的道長。 經(jīng)常有香客問我,道長赢赊,這世上最難降的妖魔是什么棒呛? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮域携,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鱼喉。我一直安慰自己秀鞭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布扛禽。 她就那樣靜靜地躺著锋边,像睡著了一般。 火紅的嫁衣襯著肌膚如雪编曼。 梳的紋絲不亂的頭發(fā)上豆巨,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音掐场,去河邊找鬼往扔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛熊户,可吹牛的內(nèi)容都是我干的萍膛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嚷堡,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蝗罗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝌戒,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤串塑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后北苟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桩匪,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年粹淋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吸祟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桃移,死狀恐怖屋匕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情借杰,我是刑警寧澤过吻,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響纤虽,放射性物質(zhì)發(fā)生泄漏乳绕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一逼纸、第九天 我趴在偏房一處隱蔽的房頂上張望洋措。 院中可真熱鬧,春花似錦杰刽、人聲如沸菠发。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滓鸠。三九已至,卻和暖如春第喳,著一層夾襖步出監(jiān)牢的瞬間糜俗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工曲饱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悠抹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓扩淀,卻偏偏與公主長得像锌钮,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子引矩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法梁丘,類相關(guān)的語法,內(nèi)部類的語法旺韭,繼承相關(guān)的語法氛谜,異常的語法,線程的語...
    子非魚_t_閱讀 31,587評(píng)論 18 399
  • Java byte code 的學(xué)習(xí)意義 為啥要學(xué)java bytecode区端,這就跟你問我已經(jīng)會(huì)python了為...
    shanggl閱讀 1,646評(píng)論 0 3
  • 2016年國慶假期終于把此書過完织盼,整理筆記和體會(huì)于此杨何。 關(guān)于書名 書名源于俄羅斯的演員斯坦尼斯拉夫斯基創(chuàng)作的《演員...
    李劍飛的簡(jiǎn)書閱讀 7,220評(píng)論 2 65
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,125評(píng)論 29 470
  • 前段時(shí)間跑跑老師發(fā)過來一篇《未來簡(jiǎn)史》的解讀文章,讓我?guī)椭籼翦e(cuò)誤沥邻。和老師交流完危虱,老師問我:“你讀懂了嗎?” “(...
    Me_ly閱讀 458評(píng)論 0 2