日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機c語言教程:C51運算符和表達式(指針和地址運算符)

          單片機c語言教程:C51運算符和表達式(指針和地址運算符)

          作者: 時間:2012-09-12 來源:網絡 收藏

          我們學習數(shù)據(jù)類型時,學習過類型,知道它是一種存放指向另一個數(shù)據(jù)的的變量類型。C中一個十分重要的概念,也是學習C中的一個難點。對于將會在第九課中做詳細的講解。在這里我們先來了解一下C中供給的兩個專門用于指針和符:

          本文引用地址:http://yuyingmama.com.cn/article/170885.htm

          * 取內容

          取內容和地址的一般形式分別為:

          變量 = * 指針變量 指針變量 = 目標變量

          取內容是將指針變量所指向的目標變量的值賦給左邊的變量;取地址是將目標變量的地址賦給左邊的變量。要注意的是:指針變量中只能存放地址(也就是指針型數(shù)據(jù)), 一般情況下不要將非指針類型的數(shù)據(jù)賦值給一個指針變量。

          下面來看一個例子,并用一個圖表和實例去簡單理解指針的使用方法和含義。

          設有兩個 unsigned int 變量 ABC 處 CBA 存放在 0x0028,0x002A 中 另有一個指針變量 portA 存放在 0x002C 中 那么我們寫這樣一段程序去看看*,的運算結果

          unsigned int data ABC _at_ 0x0028; unsigned int data CBA _at_ 0x002A; unsigned int data *Port _at_ 0x002C;

          #include at89x51.h>

          #include stdio.h>

          void main(void)

          {

          SCON = 0x50; //串行口方式 1,允許接收 TMOD = 0x20; //定時器 1 定時方式 2

          TH1 = 0xE8; //11.0592MHz 1200 波特率 TL1 = 0xE8;

          TI = 1;

          TR1 = 1; //啟動定時器

          ABC = 10; //設初值 CBA = 20;

          Port = CBA; //取 CBA 的地址放到指針變量 Port

          *Port = 100; //更改指針變量 Port 所指向的地址的內容

          printf(1: CBA=%dn,CBA); //顯示此時 CBA 的值

          Port = ABC; //取 ABC 的地址放到指針變量 Port

          CBA = *Port; //把當前 Port 所指的地址的內容賦給變量 CBA

          printf(2: CBA=%dn,CBA); //顯示此時 CBA 的值

          printf( ABC=%dn,ABC); //顯示 ABC 的值

          }

          程序初始時

          地址

          說明

          0x00

          0x002DH

          0x00

          0x002CH

          0x00

          0x002BH

          0x00

          0x002AH

          0x0A

          0x0029H

          0x00

          0x0028H

          執(zhí)行 ABC = 10;向 ABC 所指的地址 0x28H 寫入 10(0xA),因 ABC 是 int 類型要占用 0x28H 和

          0x29H 兩個字節(jié)的內存空間,低位字節(jié)會放入高地址中,所以 0x28H 中放入 0x00,0x29H 中 放入 0x0A

          地址

          說明

          0x00

          0x002DH

          0x00

          0x002CH

          0x00

          0x002BH

          0x00

          0x002AH

          0x0A

          0x0029H

          ABC 為 int 類型占用兩字節(jié)

          0x00

          0x0028H

          c語言相關文章:c語言教程



          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉