亚洲天堂中文字幕一区二区|亚洲精品无播放器在线播放网站|亚洲精品熟女国产国产老熟女|亚洲欧美在线人成最新按摩

        
        
      • <form id="etzky"></form>
          <td id="etzky"><tr id="etzky"></tr></td>

          電腦入門:C語(yǔ)言內(nèi)存地址基礎(chǔ)

          時(shí)間:2022-10-03 10:38:03 電腦入門 我要投稿
          • 相關(guān)推薦

          電腦入門:C語(yǔ)言內(nèi)存地址基礎(chǔ)

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

          電腦入門:C語(yǔ)言內(nèi)存地址基礎(chǔ)

            如果對(duì)『指針』、『地址』和『逆向引用』感到混亂,請(qǐng)看《C語(yǔ)言指針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 的位置。如果我們對(duì) 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 = '