電腦入門:C語言內(nèi)存地址基礎(chǔ)
從計(jì)算機(jī)內(nèi)存的角度思考C語言中的一切東東,是挺有幫助的。我們可以把計(jì)算機(jī)內(nèi)存想象成一個(gè)字節(jié)數(shù)組,內(nèi)存中每一個(gè)地址表示 1 字節(jié)。比方說我們的電腦有 4K 內(nèi)存,那這個(gè)內(nèi)存數(shù)組將會(huì)有 4096 個(gè)元素。當(dāng)我們談?wù)撘粋(gè)存儲(chǔ)地址的指針時(shí),就當(dāng)相于我們在談?wù)撘粋(gè)存儲(chǔ)著該內(nèi)存數(shù)組某個(gè)元素索引的指針。逆向引用某個(gè)指針,將會(huì)得到數(shù)組中該索引所指向的值。這一切當(dāng)然都是謊言。操作系統(tǒng)對內(nèi)存的管理要遠(yuǎn)比這復(fù)雜。內(nèi)存不一定連續(xù),也不一定按順序處理。但前面的類比是一種討論C語言內(nèi)存的簡單方式。

如果對『指針』、『地址』和『逆向引用』感到混亂,請看《C語言指針5分鐘教程》(發(fā)送 指針,可看全文)。// 譯注:“dereferencing” 的譯法比較多,本文采用了“逆向引用”。
假設(shè)我們的計(jì)算機(jī)有 4K 的內(nèi)存,下一個(gè)開放地址的索引是2048。我們聲明一個(gè)新的字符變量i='a'。當(dāng)該變量所獲得的內(nèi)存放置了它的值,變量的名字也與內(nèi)存中的該位置關(guān)聯(lián),我們的字符i就獲得了一個(gè)存儲(chǔ)在2048位置的值。該字符是單字節(jié)的因此它只占用了索引為 2048 的位置。如果我們對 i 變量使用地址操作符(&),它將返回到索引為2048的位置。如果這個(gè)變量是另一種類型,比如是 int,它將占用4字節(jié),在數(shù)組中占用索引為 2048-2051 的位置。使用地址操作符仍將返回索引2048的位置,因?yàn)?int 型即便占用了 4 字節(jié),但它開始于 2048 位置。我們看一個(gè)例子:
// intialize a char variable, print its address and the next address
char charvar = ' 主站蜘蛛池模板: 国产XXXX| 国产午夜无码专区喷水| 中文字幕有码日韩精品| 日日cao| 日韩激情综合| 无码三级国产三级在线电影| 亚洲国产精品第一二三区| 51精品视频| 国产精品欧美一区二区三区| 日韩三级黄色高清视频| 视频一区视频二区制服丝袜 | 日本免费一区二区三区中文字幕| av无码天堂一区二区三区| jizz国产| 无码国产成人午夜电影在线观看| 高清精品视频一区二区三区| 色窝窝一区二区| 中文久久AV影院| 国产第一页屁屁影院| 老外和中国女人毛片免费视频| 国产女人18毛片水真多1| 国产精品免费jizzjizz| 国产男生午夜福利免费网站| 欧美精品videosex性欧美| 国产乱妇乱子视频在播放| 桃色五月天| 精品无码一区二区三区的天堂| 日韩一级伦理片一区二区| 精品A片| 亚洲无码高清一区| 亚洲美女国产精品久久久久久久久| 69天堂人成无码免费视频| 亚洲天堂男人| 四川丰满少妇无套内谢| 国产精品真实对白精彩久久| 亚洲超人碰视频| 亚洲精品少妇高清30p| 亚洲熟妇无码爱v在线观看 | 国产呻吟久久久久久久92| 久久无码中文字幕东京热| 久久97国产超碰青草|