在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析C語言中的變量修飾符

朱老師物聯(lián)網(wǎng)大講堂 ? 2024-04-15 08:10 ? 次閱讀

一、修飾符類型


51單片機(jī)采用哈佛結(jié)構(gòu)。內(nèi)存空間編址有重疊。可以在不同總線上定義不同的變量。在KEIL C51中定義了data、idata、xdata、code幾種域修飾符。這些修飾符決定了變量訪問方式。

data:固定指前面0x00-0x7F的128個(gè)RAM,可以用acc直接讀寫,速度最快,生成的代碼也最小。

idata:固定指前面0x00-0xFF的256個(gè)RAM,其中前128和data的128完全相同,只是訪問的方式不同。

xdata:外部擴(kuò)展RAM。

code:ROM

920b97e6-fabc-11ee-9118-92fbcf53809c.png

92020730-fabc-11ee-9118-92fbcf53809c.png

二、變量定義


對變量進(jìn)行聲明時(shí)可以指定變量的存儲類型如:uchar data x和data uchar x相等,都是在片內(nèi)RAM區(qū)分配一個(gè)字節(jié)的空間。

同樣對于指針變量的聲明,因涉及到指針變量本身的存儲位置和指針?biāo)赶虻拇鎯ξ恢貌煌M(jìn)行相應(yīng)的存儲區(qū)類型關(guān)鍵字的聲明。

如下一句代碼,表示的是:指在RAM區(qū)分配一個(gè)指針變量(“*”號后的關(guān)鍵字的作用),而且這個(gè)指針本身指向xdata區(qū)(“*”前xdata關(guān)鍵字的作用)

921610b8-fabc-11ee-9118-92fbcf53809c.png

92020730-fabc-11ee-9118-92fbcf53809c.png

三、指針變量與存儲區(qū)域關(guān)系


定義如下變量:

9225e24a-fabc-11ee-9118-92fbcf53809c.png

第一種情況:是指在片內(nèi)RAM分配一個(gè)指針變量(“*”號后的data關(guān)鍵字的作用),而且這個(gè)指針本身指向xdata區(qū)(“*”前xdata關(guān)鍵字的作用)。這種定義方式訪問效率最高。

922d1e70-fabc-11ee-9118-92fbcf53809c.png

第二種情況:是指在idata區(qū)域分配一個(gè)指針變量,指針變量指向xdata區(qū)域。這種訪問效率不如第一種。

9233a22c-fabc-11ee-9118-92fbcf53809c.png

第三種情況:是指在xdata區(qū)域分配一個(gè)指針變量,指針變量指向xdata區(qū)域。這種訪問效率不如第二種。

923a94a6-fabc-11ee-9118-92fbcf53809c.png

第四種情況:這種定義方式是錯(cuò)誤,該指針變量只能訪問data區(qū)域,無法訪問xdata區(qū)域。

9248eb1e-fabc-11ee-9118-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7615

    瀏覽量

    137837
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28475
收藏 人收藏

    評論

    相關(guān)推薦

    C語言中賦值運(yùn)算詳解

    C語言中,賦值運(yùn)算用于將一個(gè)值賦給變量
    發(fā)表于 08-18 16:38 ?2226次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>賦值運(yùn)算<b class='flag-5'>符</b>詳解

    “無注冊”修飾符如何防止變量被保存到CPU寄存器中?

    好的,我的意思是,我希望真正的內(nèi)存位置(無論是全局的還是本地的,不是基于堆棧的,變量)都要更新,所以當(dāng)中斷發(fā)生時(shí),它會找到一個(gè)更新的值。我知道“寄存器”修飾符,但它正好相反。F我想做什么,我在文檔中
    發(fā)表于 10-09 11:09

    請問什么是正則表達(dá)式修飾符

    什么是正則表達(dá)式的修飾符
    發(fā)表于 11-04 06:10

    c語言中整數(shù)的取值范圍是多少

    c語言中整數(shù)的取值范圍,文章目錄1、整數(shù)的取值范圍2、版權(quán)聲明整數(shù)是我們生活中常用的數(shù)據(jù)類型,也是編程中常用的一種數(shù)據(jù),C語言使用int關(guān)鍵字來定義整數(shù)
    發(fā)表于 07-20 07:50

    C51語言變量定義方式

    C51 語言變量定義定義方式:普通變量:(修飾符)數(shù)據(jù)類型 [存儲類型] 變量名 [= 值]指
    發(fā)表于 12-01 06:18

    HAL庫中__weak修飾符是什么?

    單片機(jī)系統(tǒng)時(shí)鐘是什么?HAL庫中__weak修飾符是什么?
    發(fā)表于 02-23 07:32

    探討一下C語言中的作用域局部變量

    作用域局部變量--local variable全局變量--global variable修飾符--storage description局部變量–local variable一般在{}
    發(fā)表于 02-28 06:00

    C語言中的volatile關(guān)鍵字

    volatile關(guān)鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改。
    發(fā)表于 05-27 09:32 ?3282次閱讀

    C語言類型修飾符Const的教程使用說明

    Const也是應(yīng)該廣泛的關(guān)鍵字,表示后面定義有可能是一個(gè)不變的常量,但是跟各種數(shù)據(jù)類型定義組合,能演變出復(fù)雜含義。常類型是指使用類型修飾符const說明的類型,常類型的變量或?qū)ο蟮闹凳遣荒鼙桓?/div>
    的頭像 發(fā)表于 09-20 09:37 ?3160次閱讀

    C語言類型修飾符Volatile的使用說明

    C語言是我們經(jīng)常需要用到的語言C語言中的類型修飾符Volatile大家知道怎么使用嗎? vol
    的頭像 發(fā)表于 09-19 10:54 ?3594次閱讀

    一種修飾符能使變量在處理器復(fù)位而不被初始化

    有一種修飾符能使變量在處理器復(fù)位而不被初始化
    的頭像 發(fā)表于 03-14 15:01 ?4118次閱讀
    一種<b class='flag-5'>修飾符</b>能使<b class='flag-5'>變量</b>在處理器復(fù)位而不被初始化

    C51 單片機(jī)的 C 語言中變量定義與硬件之間的關(guān)系

    C51 語言變量定義定義方式:普通變量:(修飾符)數(shù)據(jù)類型 [存儲類型] 變量名 [= 值]指
    發(fā)表于 11-23 16:51 ?3次下載
    <b class='flag-5'>C</b>51 單片機(jī)的 <b class='flag-5'>C</b> <b class='flag-5'>語言中</b>的<b class='flag-5'>變量</b>定義與硬件之間的關(guān)系

    C語言中變量的作用域

    作用域局部變量--local variable全局變量--global variable修飾符--storage description局部變量–local variable一般在{}
    發(fā)表于 01-13 14:58 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b><b class='flag-5'>變量</b>的作用域

    Java四種訪問修飾符及訪問范圍

    public修飾的類、類屬變量及方法,包內(nèi)及包外的任何類均可以訪問;任何情況下都可以訪問;如果一個(gè)類、類屬變量及方法沒有用任何修飾符,則其訪問權(quán)限為默認(rèn)權(quán)限,只認(rèn)包。同包下可以訪問,同
    的頭像 發(fā)表于 02-28 14:35 ?6744次閱讀

    快速掌握C語言關(guān)鍵字

    C語言中的32個(gè)關(guān)鍵字你知道多少個(gè)呢?根據(jù)關(guān)鍵字的作用分為四類:數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字。1.1基本數(shù)據(jù)類型int:用于聲明整數(shù)類型的變量。char:用于聲明字符
    的頭像 發(fā)表于 07-06 08:04 ?430次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>關(guān)鍵字
    主站蜘蛛池模板: 免费在线观看理论片 | 高清视频免费观看 | 爱爱免费小视频 | 午夜色片 | 午夜久久久久久亚洲国产精品 | 午夜剧院免费 | 国产在视频线精品视频2021 | 一区二区三区四区无限乱码在线观看 | 精品国产免费观看久久久 | 亚洲已满18点击进入在线观看 | 亚洲第一区二区快射影院 | 欧美三级网址 | 在线免费午夜视频 | aaaaa级毛片免费视频 | 免费一级欧美片在线观看 | 免费在线看a | 亚洲资源最新版在线观看 | 日韩毛片网 | 天天撸夜夜操 | 一区二区三区四区在线免费观看 | wwwxx在线观看 | 色综合久久88色综合天天 | 久久青草国产手机看片福利盒子 | 永久免费看片 | 网红和老师啪啪对白清晰 | 日韩手机看片 | 欧美黄色片在线播放 | 国产午夜免费 | 最近视频在线播放免费观看 | 国产手机免费视频 | 自拍偷自拍亚洲精品被多人伦好爽 | av网址在线看 | 麻豆三级在线播放 | 香蕉免费在线视频 | 久久精品国产免费中文 | 涩涩涩丁香色婷五月网视色 | chinese国产一区二区 | 性色在线播放 | 三级完整在线观看高清视频 | 欧美色图一区二区 | 美女网战色|