- 相關(guān)推薦
C 語言內(nèi)存地址基礎(chǔ)
從計(jì)算機(jī)內(nèi)存的角度思考C語言中的一切東東,是挺有幫助的。我們可以把計(jì)算機(jī)內(nèi)存想象成一個字節(jié)數(shù)組,內(nèi)存中每一個地址表示 1 字節(jié)。比方說我們的電腦有 4K 內(nèi)存,那這個內(nèi)存數(shù)組將會有 4096 個元素。當(dāng)我們談?wù)撘粋存儲地址的指針時,就當(dāng)相于我們在談?wù)撘粋存儲著該內(nèi)存數(shù)組某個元素索引的指針。逆向引用某個指針,將會得到數(shù)組中該索引所指向的值。這一切當(dāng)然都是謊言。操作系統(tǒng)對內(nèi)存的管理要遠(yuǎn)比這復(fù)雜。內(nèi)存不一定連續(xù),也不一定按順序處理。但前面的類比是一種討論C語言內(nèi)存的簡單方式。
下面是小編給大家分享的C 語言內(nèi)存地址基礎(chǔ),快來看看吧。
假設(shè)我們的計(jì)算機(jī)有 4K 的內(nèi)存,下一個開放地址的索引是2048。我們聲明一個新的字符變量i='a'。當(dāng)該變量所獲得的內(nèi)存放置了它的值,變量的名字也與內(nèi)存中的該位置關(guān)聯(lián),我們的字符i就獲得了一個存儲在2048位置的值。該字符是單字節(jié)的因此它只占用了索引為 2048 的位置。如果我們對 i 變量使用地址操作符(&),它將返回到索引為2048的位置。如果這個變量是另一種類型,比如是 int,它將占用4字節(jié),在數(shù)組中占用索引為 2048-2051 的位置。使用地址操作符仍將返回索引2048的位置,因?yàn)?int 型即便占用了 4 字節(jié),但它開始于 2048 位置。我們看一個例子:
// intialize a char variable, print its address and the next address
char charvar = ' 主站蜘蛛池模板: 册亨县| 博湖县| 太谷县| 泾源县| 化州市| 内乡县| 水城县| 平乡县| 上蔡县| 巴楚县| 丰镇市| 福建省| 上林县| 大姚县| 中西区| 松原市| 上蔡县| 乳山市| 合山市| 镇远县| 彝良县| 温宿县| 平谷区| 孝义市| 运城市| 乌拉特前旗| 德惠市| 江都市| 大连市| 西吉县| 德保县| 雅安市| 华亭县| 东丰县| 米泉市| 平江县| 垦利县| 临武县| 永康市| 崇文区| 城固县|