課程
/后端開發(fā)
/C
/Linux C語言指針與內存
如我截圖所示
2017-06-20
源自:Linux C語言指針與內存 4-3
正在回答
正常情況下 地址的分配簡單的理解為 按 源代碼? 從上往下? 沒有問題?
一般情況下 是這樣 。 這里可能 編譯器 如果優(yōu)化 或許 會不一樣? 但是暫時 不考慮這個情況?
但是 在你的代碼里? 這些 變量 是分配到 系統(tǒng)的棧內存 的? 棧內存? 跟操作系統(tǒng)內核 一樣在高位
就是? 假設你是32位系統(tǒng) 系統(tǒng)內存 占用2g 內存?
那么? 你的地址? ?大概分配情況就行?
0x? FF FF FF FF? 這個是內存的 首地址?
然后 往下一直是內核地址?
直接到? 2g內存結束 大概 位置為 1000 0000 0000 0000 0000?0000 0000 0000???就是 0x 80 00 00 00?
然后棧內存的首地址??位置為 0111 1111 1111 1111 1111 1111 1111 1111 就是 0x 7F??FF FF FF
從上 往下依次越來越小?
所以你看到的確實是? 內存地址的值 變小了? 你測試的是對的
但是你沒有注意 課程里說的 從高地址開始分配
同問。a地址應該比b大才對吧
從上往下分配
地址的分配并不是一定按命名順序的
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
2 回答為什么第一個p a p b是輸出的值第二次輸出它的地址呢?
1 回答地址不是動態(tài)的嗎? 應該是再編譯的過程中地址更換了 我的 p三次++ 后就不是a數(shù)組的數(shù)了
2 回答p *pa是訪問地址所指的內容,那int *pa=&a;這不是地址嗎,怎么*pa又是地址又是所指的內容?怎么回事?
1 回答為啥地址中是a i b這種格式啊。
2 回答gdb地址表示的問題(應該是)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-11-24
正常情況下 地址的分配簡單的理解為 按 源代碼? 從上往下? 沒有問題?
一般情況下 是這樣 。 這里可能 編譯器 如果優(yōu)化 或許 會不一樣? 但是暫時 不考慮這個情況?
但是 在你的代碼里? 這些 變量 是分配到 系統(tǒng)的棧內存 的? 棧內存? 跟操作系統(tǒng)內核 一樣在高位
就是? 假設你是32位系統(tǒng) 系統(tǒng)內存 占用2g 內存?
那么? 你的地址? ?大概分配情況就行?
0x? FF FF FF FF? 這個是內存的 首地址?
然后 往下一直是內核地址?
直接到? 2g內存結束 大概 位置為 1000 0000 0000 0000 0000?0000 0000 0000???就是 0x 80 00 00 00?
然后棧內存的首地址??位置為 0111 1111 1111 1111 1111 1111 1111 1111 就是 0x 7F??FF FF FF
從上 往下依次越來越小?
所以你看到的確實是? 內存地址的值 變小了? 你測試的是對的
但是你沒有注意 課程里說的 從高地址開始分配
2018-02-25
同問。a地址應該比b大才對吧
2017-09-15
從上往下分配
2017-06-24
地址的分配并不是一定按命名順序的