新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C程序中的指針與指針變量

        單片機C程序中的指針與指針變量

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

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


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

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

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


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特左旗| 夹江县| 永德县| 府谷县| 长治县| 峨眉山市| 诏安县| 札达县| 报价| 河南省| 赤水市| 永仁县| 手游| 昌邑市| 宁都县| 上饶市| 葫芦岛市| 逊克县| 隆林| 贺兰县| 梅州市| 金门县| 奇台县| 霍城县| 南昌县| 凤阳县| 中卫市| 尤溪县| 盐山县| 武功县| 金湖县| 苗栗县| 平和县| 河源市| 彩票| 磐石市| 长葛市| 工布江达县| 双城市| 安丘市| 井冈山市|