日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> EDA開發應用 >> Keilc >> 正文

KeilC的指針類型

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-3-3

話說,C語言中最精髓的就是指針的操作了。當然,本文不對C語言的指針做詳細的描述。Hanny在這里只想小結一下KeilC中的指針類型。

在KeilC中,我們會常見到下述的指針定義方式:
char *ptr1;
char code *ptr2;
char data *ptr3;
char xdata *ptr4;
char *data ptr5;
char code *data ptr6;
char data *data ptr7;
char xdata *data ptr8;
char *xdata ptr9;
char code *xdata ptr10;
char data *xdata ptr11;
char xdata *xdata ptr12;

看到這里,可能會有人有點亂了吧。其實要理清上面這一堆東西很簡單。

首先,我們需要了解51的內存結構。簡單地說,就是51包括data/idata、xdata、code三大塊。定義指針時,*后面的修飾符是用來表示指針的存儲位置。如:ptr5、ptr6、ptr7、ptr8存儲在data區中,ptr9、ptr10、ptr11、ptr12存儲在xdata中。ptr1、ptr2、ptr3、ptr4的存儲位置則取決于KeilC中的設置(使用內存的模式)。

*之前的修飾符,則是用來表示指針所指向的數據的存儲位置,即指針類型。ptr2、ptr6、ptr10的指針,指向一個存儲在code中的數據。ptr3、ptr7、ptr11的指針,指向一個存儲在data中的數據。ptr4、ptr8、ptr12的指針,指向一個存儲在xdata中的數據。

ptr1、ptr5、ptr9這三個指針有一點點特殊。沒有修飾類型這表示這是一個通用指針,它將用3Byte來表示。其中第一字節表示指針類型,后兩個指針存放指針地址。而類型中,0xff表示指針存放在code中,0x00表示data/idata,0x01表示xdata。

綜上所述,若一個指針為char xdata * xdata,如ptr12,則該指針表示一個存放在xdata中的指針,并且該指針指向一個xdata的數據。

在使用過程中,只要注意到了這些類型,應該是不會出什么問題的。

Tags:指針類型,keilc,keil  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
熱門文章
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢