機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
學C51的基礎 9 《 指針、結構、聯(lián)合和枚舉 》 作者[cmh]©
學C51的基礎 9 《 指針、結構、聯(lián)合和枚舉 》 作者[cmh]©
 更新時間:2008-8-17 16:34:10  點擊數(shù):42
【字體: 字體顏色

            圖1. 給指針變量賦值
以后我們便可以通過指針變量ip間接訪問變量i, 例如:
     x=*ip;
運算符*訪問以ip為地址的存貯區(qū)域, 而ip中存放的是變量i的地址, 因此, *ip訪問的是地址為1800的存貯區(qū)域(因為是整數(shù), 實
際上是從1800開始的兩個字節(jié)), 它就是i所占用的存貯區(qū)域, 所以上面的賦值表達式等價于
     x=i;
    另外, 指針變量和一般變量一樣, 存放在它們之中的值是可以改變的, 也就是說可以改變它們的指向, 假設
     int i, j, *p1, *p2;
     i='a';
     j='b';
     p1=&i;
     p2=&j;
則建立如下圖所示的聯(lián)系:
            p1               i

        ┏━━━┓       ┏━━━┓
        ┃      ╂──→ ┃ 'a'  ┃
        ┗━━━┛       ┗━━━┛
            p2               i
        ┏━━━┓       ┏━━━┓
        ┃      ╂──→ ┃ 'b'  ┃
        ┗━━━┛       ┗━━━┛
             圖2. 賦值運算結果

這時賦值表達式:
     p2=p1
就使p2與p1指向同一對象i, 此時*p2就等價于i, 而不是j, 圖2.就變成圖3.所示:
            p1               i

        ┏━━━┓       ┏━━━┓
        ┃      ╂──→ ┃ 'a'  ┃
        ┗━━━┛  ┌→ ┗━━━┛
            p2      │       j
        ┏━━━┓  │   ┏━━━┓
        ┃      ╂─┘   ┃ 'b'  ┃
        ┗━━━┛       ┗━━━┛
            圖3. p2=p1時的情形

如果執(zhí)行如下表達式:
     *p2=*p1;
則表示把p1指向的內(nèi)容賦給p2所指的區(qū)域, 此時圖2.就變成圖4.所示
            p1               i

        ┏━━━┓       ┏━━━┓
  • 上一篇: 學C51的基礎 10《 聯(lián) 合(union) 》作者[cmh]©
  • 下一篇: 學C51的基礎 8 《 控制流程語句 》 作者[cmh]©
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1