色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)C程序中的指針與指針變量

          單片機(jī)C程序中的指針與指針變量

          作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
          一個變量具有一個變量名,對它賦值后就有一個變量值,變量名和變量值是兩個不同的概念。變量名對應(yīng)于內(nèi)存單元的地址,表示變量在內(nèi)存中的位置,而變量值則是放在內(nèi)存單元中的數(shù)據(jù),也就是內(nèi)存單元的內(nèi)容。變量名對應(yīng)于地址,變量值對應(yīng)于內(nèi)容,應(yīng)以區(qū)別。
          例如定義一個整形變量int x,編譯器就會分配兩個存儲單元給x。如果給變量賦值,令x=30,這個值就會放入對應(yīng)的存儲單元中。雖然這個地址是由編譯器分配的,但我們是無法事先確定的,但可以用取地址運(yùn)算符&取出變量x的地址,例如取x變量的地址用&x。

          &x就是變量x的指針,指針是由編譯器分配,而不是由程序指定的,但指針值可以用&x取出。


          如果把指針(地址值)也作為一個變量,并定義一個指針變量xp,那么編譯器就會另外開辟一個存儲單元,用于存放指針變量。這個指針變量實(shí)際上成了指針的指針,例定義:
          int *xp

          通過語句xp=&x把變量x的地址值,存于指針變量xp中,現(xiàn)在訪問變量x有兩種方法,一是直接訪問,另外是用指針間接訪問:*xp

          在int *xp中的*和*xp中的*所代表的意義不同,int *xp中的*是對指針變量定義時作為類型說明,而*xp中的*是運(yùn)算符,表示由xp所指示的內(nèi)存單元中取出變量值。


          評論


          技術(shù)專區(qū)

          關(guān)閉