91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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í)可以指定變量的存儲(chǔ)類型如:uchar data x和data uchar x相等,都是在片內(nèi)RAM區(qū)分配一個(gè)字節(jié)的空間。

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

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

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

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

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


定義如下變量:

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

第一種情況:是指在片內(nèi)RAM分配一個(gè)指針變量(“*”號(hào)后的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

    文章

    7632

    瀏覽量

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

    關(guān)注

    0

    文章

    614

    瀏覽量

    28950
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    C語言中,賦值運(yùn)算用于將一個(gè)值賦給變量
    發(fā)表于 08-18 16:38 ?2620次閱讀
    <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í),它會(huì)找到一個(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ù)類型 [存儲(chǔ)類型] 變量名 [= 值]指
    發(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 ?3334次閱讀

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

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

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

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

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

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

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

    C51 語言變量定義定義方式:普通變量:(修飾符)數(shù)據(jù)類型 [存儲(chǔ)類型] 變量名 [= 值]指
    發(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 ?7159次閱讀

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

    C語言中的32個(gè)關(guān)鍵字你知道多少個(gè)呢?根據(jù)關(guān)鍵字的作用分為四類:數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲(chǔ)類型關(guān)鍵字和其它關(guān)鍵字。1.1基本數(shù)據(jù)類型int:用于聲明整數(shù)類型的變量。char:用于聲明字符
    的頭像 發(fā)表于 07-06 08:04 ?792次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>關(guān)鍵字
    主站蜘蛛池模板: 五月天六月丁香 | 天天做天天爱天天爽天天综合 | 中文字幕一区二区三区永久 | 午夜寂寞在线一级观看免费 | 亚洲天堂视频一区 | 亚洲黄色网址大全 | 亚洲色网址 | 99久久国产免费 - 99久久国产免费 | 亚洲综合图片人成综合网 | 激情网五月天 | 中文字幕一精品亚洲无线一区 | v视界影院最新网站 | 黄 色 录像成 人播放免费 | 亚洲欧美婷婷 | 伊人成人在线 | 日本人69xxxxxxxx69 | 在线天堂bt中文www在线 | 欧美色啪 | aaa网站| 亚洲人成网站色在线观看 | 男人天堂网在线播放 | 亚洲毛片免费在线观看 | 国产香蕉在线精彩视频 | 五月婷婷婷婷婷 | 亚洲综合色在线 | 天天爱夜夜爽 | 欧美日韩高清一本大道免费 | 日本三级电影在线观看 | 天天干天天日天天射天天操毛片 | 久久青青草原精品老司机 | 国产精品三级在线播放 | 思思久99久女女精品 | 综合网在线观看 | 欧美一级特黄aaaaaa在线看首页 | aaa一区二区三区 | 欧美色图色就是色 | avtt香蕉 | 97成人免费视频 | 777黄色片 | 国产福利午夜 | 成年美女黄网站色大免费视频 |