色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

C語言const關(guān)鍵字詳解

CHANBAEK ? 來源:吾愛單片機(jī) ? 作者:echigh ? 2023-04-15 15:47 ? 次閱讀

const我平時沒咋用過,最近在一份代碼中配置外設(shè)寄存器值的數(shù)組定義上看到用了這個,因此進(jìn)行一下簡單的入門學(xué)習(xí)。 在本文最后1點(diǎn)給出const在配置外設(shè)初始默認(rèn)寄存器的用法

  1. const定義的是變量,不是常量。 只是其值在初始化后就不允許再改變,即const變量為只讀變量
  2. 注意以下為以訛傳訛的錯誤結(jié)論:定義數(shù)組時其長度必須是常量,因此不允許使用const變量。

事實(shí)是不同的運(yùn)行環(huán)境結(jié)論是不一樣的:

(1)我試驗(yàn)在arm的cortex m0好的很,在cortex m0平臺上(stm32g031單片機(jī))用const變量來定義數(shù)組長度一點(diǎn)問題都沒有

(2)而在windows平臺上面試驗(yàn),const變量的確不能用來定義數(shù)組長度,編譯階段就會報錯

另外,雖然結(jié)論是錯誤的,但因?yàn)樵谟械钠脚_上的確這個結(jié)論是成立的,因此為了代碼統(tǒng)一規(guī)范,最好就遵循不要用const變量來定義數(shù)組長度的規(guī)則

3.定義const變量時,const和具體數(shù)據(jù)類型位置可以互換,沒有區(qū)別,但一般是把const放前面:

(1)一般的定義方法

const  int  a = 10;

(2)const和int位置互換,和上面的定義含義是一樣的

int  const  a = 10;

4.const 和 define 的區(qū)別

(1)const定義的是變量,define定義的是常量

(2)#define在預(yù)編譯階段就展開了,不占用內(nèi)存,機(jī)器只會給變量分配內(nèi)存,而const定義的是變量,是占用內(nèi)存的

5.定義一個const數(shù)組的方法,用來給外設(shè)做初始默認(rèn)寄存器配置,該數(shù)據(jù)里面元素的數(shù)據(jù)類型是結(jié)構(gòu)體

#define SOMEDEVICE_REG_CONFIG_NUM_REGS 16


typedef struct
{
  unsigned char address;    /* 8-bit register address */
  unsigned char value;    /* 8-bit register data */
} somedevice_register_t;


somedevice_register_t const somedevice_registers[SOMEDEVICE_REG_CONFIG_NUM_REGS] =
{
  { 0x00, 0x11 },    
  { 0x01, 0x36 },
  { 0x02, 0x75 },
  { 0x03, 0x27 },
  { 0x04, 0x38 },
  { 0x05, 0x1F },    
  { 0x06, 0x25 },
  { 0x07, 0x88 },
  { 0x08, 0x46 },
  { 0x09, 0x29 },
  { 0x0a, 0x03 },
  { 0x0b, 0x01 },
  { 0x0c, 0x40 },
  { 0x0d, 0x11 },     
  { 0x0e, 0x31 },
  { 0x0f, 0x45 },
};
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5356

    瀏覽量

    120562
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

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

    關(guān)注

    0

    文章

    613

    瀏覽量

    28397
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25971
  • CONST
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    8177
收藏 人收藏

    評論

    相關(guān)推薦

    C語言關(guān)鍵字const的幾種用法

    本期來講解一個C語言關(guān)鍵字——const
    發(fā)表于 06-21 11:05 ?1675次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關(guān)鍵字</b><b class='flag-5'>const</b>的幾種用法

    C語言volatile關(guān)鍵字詳解 精選資料分享

    1.volatile和什么有關(guān)百度翻譯是這樣子翻譯volatile的:圖1-1 百度翻譯volatile截圖volatile屬于C語言關(guān)鍵字,《C Primer Puls》 是這樣解
    發(fā)表于 07-22 07:20

    嵌入式程序員常見的const、static、volatile關(guān)鍵字

    嵌入式程序員const、static、volatile三個關(guān)鍵字的樸素認(rèn)識摘要:在C語言程序編寫中,const、static
    發(fā)表于 12-21 06:08

    標(biāo)準(zhǔn)C語言總共有32個關(guān)鍵字

    標(biāo)準(zhǔn)C語言總共有32個關(guān)鍵字
    發(fā)表于 01-12 15:59 ?0次下載

    C語言32個關(guān)鍵字

    C語言32個關(guān)鍵字,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 16:29 ?66次下載

    C++與Cconst關(guān)鍵字有何差別?

    C++與C中的const關(guān)鍵字有何差別?
    的頭像 發(fā)表于 02-03 14:51 ?1826次閱讀

    C++中mutable關(guān)鍵字詳解與實(shí)戰(zhàn)

    mutable關(guān)鍵字詳解與實(shí)戰(zhàn) 在C++中mutable關(guān)鍵字是為了突破const關(guān)鍵字的限制,
    的頭像 發(fā)表于 09-10 09:23 ?5564次閱讀

    C++中的const關(guān)鍵字介紹

    前一篇文章我們主要介紹了C++中的復(fù)合類型引用和指針,這篇文章我們將會主要介紹C++中const關(guān)鍵字。有時候我們想定義一個值不能被改變的變量,例如我們想使用一個變量存儲buffer的
    的頭像 發(fā)表于 03-17 14:01 ?678次閱讀

    淺談C++的mutable關(guān)鍵字

    C++11中推出了一種特殊的關(guān)鍵字:mutable用于修飾類變量。它的作用是標(biāo)注該變量一定會被修改,因此也就不是const類型。目的是為了使這些成員變量在被const
    的頭像 發(fā)表于 04-15 11:13 ?3793次閱讀

    const關(guān)鍵字應(yīng)用總結(jié)

    C++中的const關(guān)鍵字的用法非常靈活,而使用const將大大改善程序的健壯性
    的頭像 發(fā)表于 05-26 09:06 ?577次閱讀

    C語言32個關(guān)鍵字可以分為這幾類

    C語言是一種面向過程、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于嵌入式底層和系統(tǒng)開發(fā)。C語言關(guān)鍵字共有
    的頭像 發(fā)表于 12-31 15:28 ?5107次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>32個<b class='flag-5'>關(guān)鍵字</b>可以分為這幾類

    淺析C語言中的regiseter關(guān)鍵字

    C語言中重要的關(guān)鍵字有很多,static const extern我們之前都講過,還有一個在面試中出現(xiàn)的頻率也比較高:register。
    的頭像 發(fā)表于 08-25 17:10 ?1142次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的regiseter<b class='flag-5'>關(guān)鍵字</b>

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

    C語言中的32個關(guān)鍵字你知道多少個呢?根據(jù)關(guān)鍵字的作用分為四類:數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字
    的頭像 發(fā)表于 07-06 08:04 ?362次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關(guān)鍵字</b>

    C語言關(guān)鍵字--typedef

    C語言關(guān)鍵字使用方法學(xué)習(xí)指南!
    的頭像 發(fā)表于 10-07 12:44 ?281次閱讀

    C語言關(guān)鍵字分別發(fā)生在哪個階段

    在編譯的第一個階段:預(yù)處理,對一些宏定義做替換。 第二個,constC語言中的 const 用于修飾只讀變量,表示變量本身不能修改。 這個關(guān)鍵字
    的頭像 發(fā)表于 11-24 10:31 ?193次閱讀
    主站蜘蛛池模板: 国产亚洲综合视频| 日本免费一区二区三区最新vr | 久久亚洲精品成人综合| 黄色网址在线看| 久久精品中文字幕免费| 老头操美女| 日本人吃奶玩奶虐乳| 性夜影院午夜看片| 亚洲精品有码在线观看| 亚洲精品无码葡京AV天堂| 亚洲AV无码专区国产精品99| 亚洲精品第一综合99久久| 一个人HD高清在线观看免费视频| 2020亚洲色噜噜狠狠网站| 成人在线视频免费看| 国产一区二区波多野结衣| 久久人妻少妇嫩草AV無碼| 欧美精品AV一区二区无码| 翁用力的抽插| 久青草国产在线视频| 欧美人成人亚洲专区中文字幕| 日韩精品专区在线影院重磅| 夜蒲团之5阳性之教| 爱情岛aqdlttv| 精品久久日日躁夜夜躁AV| 噼里啪啦免费观看视频大全| 亚洲女初尝黑人巨磁链接| JLZZJLZZJLZ老师好多的水| 真人美女精美小穴| 66美女人体| 蜜柚视频网在线观看免费| 推倒美女总裁啪啪| 色婷婷欧美在线播放内射| 一区两区三不卡| 国产精品 中文字幕 亚洲 欧美| 国产亚洲欧洲日韩在线观看| 暖暖日本免费播放| 色噜噜狠狠色综合欧洲| 亚洲AV无码国产精品午夜久久| 亚洲精品无码AAAAAA片| 粗暴玩烂货调教|