C進(jìn)階 - 內(nèi)存四驅(qū)模型

一.內(nèi)存四驅(qū)模型

不知我們是否有讀過(guò) 《深入理解 java 虛擬機(jī)》這本書,強(qiáng)烈推薦讀一下吮铭。在 java 中我們將運(yùn)行時(shí)數(shù)據(jù)枷莉,分為五個(gè)區(qū)域分別是:程序計(jì)數(shù)器,java 虛擬機(jī)棧涨颜,本地方法棧费韭,java 堆,方法區(qū)庭瑰。

在 c/c++ 中我們將運(yùn)行時(shí)數(shù)據(jù)星持,分為四個(gè)區(qū)域分別是:棧區(qū),堆區(qū)弹灭,數(shù)據(jù)區(qū)督暂,代碼區(qū)。我們?cè)敿?xì)來(lái)介紹下:

  1. 棧區(qū):由編譯器自動(dòng)分配釋放 穷吮,存放函數(shù)的參數(shù)值逻翁,局部變量的值等。
  2. 堆區(qū):一般由程序員分配釋放捡鱼, 若程序員不釋放八回,程序結(jié)束時(shí)可能由 OS 回收。
  3. 數(shù)據(jù)區(qū):存放全局變量驾诈、靜態(tài)變量和常量字符串等等缠诅。 程序結(jié)束后由系統(tǒng)釋放。
  4. 存放函數(shù)體的二進(jìn)制代碼乍迄。
二.模型案例詳解

有時(shí)會(huì)想就算知道了 c/c++ 的內(nèi)存四驅(qū)模型管引,好像也沒(méi)啥作用,這東西背一下就好了闯两,其實(shí)不然褥伴。我們來(lái)看一個(gè)實(shí)例:

char* getStr(){
  char buff[128];

  strcpy(buff,"12345");

  return buff;
}

void main(){
  char* str = getStr();

  printf("%s",str);

  getchar();
}

請(qǐng)問(wèn)上面這個(gè)會(huì)打印啥?接下來(lái)我們?cè)賮?lái)看個(gè)實(shí)例:

// 求數(shù)組的大小
int size(int arr[]){
  int size = sizeof(arr) / sizeof(int);
  return size;
}

void main(){
  int arr[] = {1,2,3,4,5,6};

  // 求數(shù)組的大小
  int size = sizeof(arr) / sizeof(int);

  printf("size = %d\n",size);

  size = size(arr);

  printf("size = %d\n",size);

  getchar();
}

請(qǐng)問(wèn)上面兩個(gè) size 的值是多少漾狼?接下來(lái)我們?cè)賮?lái)看個(gè)實(shí)例:

char* getStr1(){
    char* str = "12345";
    return str;
}

char* getStr2(){
    char* str = "12345";
    return str;
}

void main(){

    char* str1 = getStr1();

    char* str2 = getStr2();

    printf("%d , %d",str1,str2);

    getchar();
}

請(qǐng)問(wèn)上面 str1 和 str2 的地址值是否會(huì)一樣重慢?相信只要我們真正的理解了 c/c++ 的內(nèi)存四驅(qū)模型,那么這些問(wèn)題就迎刃而解了逊躁,當(dāng)然這些還只是第一步伤锚,關(guān)鍵還在于對(duì)指針的理解。

視頻地址:https://pan.baidu.com/s/1gMzvvfP8nFj9wJ6VZgSnkQ
視頻密碼:3ti3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市屯援,隨后出現(xiàn)的幾起案子猛们,更是在濱河造成了極大的恐慌,老刑警劉巖狞洋,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弯淘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吉懊,警方通過(guò)查閱死者的電腦和手機(jī)庐橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)借嗽,“玉大人态鳖,你說(shuō)我怎么就攤上這事《竦迹” “怎么了浆竭?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)惨寿。 經(jīng)常有香客問(wèn)我邦泄,道長(zhǎng),這世上最難降的妖魔是什么裂垦? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任顺囊,我火速辦了婚禮,結(jié)果婚禮上蕉拢,老公的妹妹穿的比我還像新娘特碳。我一直安慰自己,他們只是感情好晕换,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布午乓。 她就那樣靜靜地躺著,像睡著了一般届巩。 火紅的嫁衣襯著肌膚如雪硅瞧。 梳的紋絲不亂的頭發(fā)上份乒,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天恕汇,我揣著相機(jī)與錄音,去河邊找鬼或辖。 笑死瘾英,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颂暇。 我是一名探鬼主播缺谴,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耳鸯!你這毒婦竟也來(lái)了湿蛔?” 一聲冷哼從身側(cè)響起膀曾,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阳啥,沒(méi)想到半個(gè)月后添谊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡察迟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年斩狱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扎瓶。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡所踊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出概荷,到底是詐尸還是另有隱情秕岛,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布乍赫,位于F島的核電站瓣蛀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雷厂。R本人自食惡果不足惜惋增,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望改鲫。 院中可真熱鬧诈皿,春花似錦、人聲如沸像棘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缕题。三九已至截歉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烟零,已是汗流浹背瘪松。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锨阿,地道東北人宵睦。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像墅诡,于是被迫代替她去往敵國(guó)和親壳嚎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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

  • JVM內(nèi)存模型Java虛擬機(jī)(Java Virtual Machine=JVM)的內(nèi)存空間分為五個(gè)部分,分別是: ...
    光劍書架上的書閱讀 2,514評(píng)論 2 26
  • 從三月份找實(shí)習(xí)到現(xiàn)在烟馅,面了一些公司说庭,掛了不少,但最終還是拿到小米郑趁、百度口渔、阿里、京東穿撮、新浪缺脉、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,255評(píng)論 11 349
  • 兒子今天放假了悦穿,把狗狗帶去打預(yù)防針攻礼,還在家里拖地、洗衣服栗柒,主動(dòng)要求去補(bǔ)課礁扮,跟我談學(xué)校的趣事,老公一有空就在微信上關(guān)...
    Jane_aad1閱讀 97評(píng)論 0 2
  • 2月15,2018的倒數(shù)… 忙碌的一天逛钻,早起寫了文章(看起來(lái)還是積極的)…開電腦僚焦,看終極一班5…這個(gè)追了快6年的電...
    Jennifer_怡閱讀 190評(píng)論 1 1
  • 雙色球146期 歐陽(yáng)小文字謎 慣聽(tīng)乙酉早歲愁 五中來(lái)五把八看 左右模樣還相同 卅里求五五來(lái)走 藍(lán) :七上八下 林霜...
    人生如夢(mèng)_fe23閱讀 473評(píng)論 0 0