91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

const定義的是不是常量

學益得智能硬件 ? 來源:學益得智能硬件 ? 2025-01-14 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C語言是如何定義常量的?const定義的算不算是常量?

常見的有這么幾種方式。

首先就是宏定義,使用 define 來定義。

宏的特點就是在預處理的時候被替換,比如這個地方的 SIZE,預處理后就會變成數(shù)字 5。

第二種跟宏定義類似,常量也可以在編譯的時候通過編譯器傳入。

以 gcc 為例,編譯的時候提供 -D 選項,同樣會在預處理的時候替換成相應的數(shù)字。

第三種枚舉,使用 enum 關鍵字。

枚舉的特點是默認從 0 開始,逐漸遞增。如果需要大量含義相同的常量,可以考慮使用枚舉。

下面要說的就是 const,定義數(shù)組的時候,如果數(shù)組的長度僅僅用 const 來修飾,在編譯的時候就會提示錯誤。

const修飾的不是常量,屬于只讀變量,這一點在《C專家編程》中也有描述。在一個符號前面加上 const 限定符只是表示這個符號不能被賦值。

為了解決這個問題,C23專門引入了新的關鍵字 constexpr,用 constexpr 修飾的才是真正的常量,不管是用它定義數(shù)組長度,還是給枚舉賦值都可以。這是個正兒八經(jīng)的常量。

除了上面幾種,代碼中常見的還有字符串常量,比如這樣的,"helloworld"屬于字符串常量,在代碼運行過程中不能修改。

還有沒有其他定義常量的方法,如果有遺漏,歡迎大家在評論區(qū)補充。

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

    關注

    183

    文章

    7644

    瀏覽量

    145592
  • CONST
    +關注

    關注

    0

    文章

    45

    瀏覽量

    8761

原文標題:const定義的是不是常量

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32F030是不是支持keil?

    各位大佬,請問CW32F030是不是支持keil 啊?
    發(fā)表于 01-19 07:02

    瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之定義傳輸源和目標存儲器

    數(shù)組由于有const聲明為常量,因此其數(shù)據(jù)存儲在內部Flash 中,DST_Buffer為普通的全局變量,其數(shù)據(jù)存儲在RAM中。這兩個數(shù)組的大小由宏定義BUFFER_SIZE來決定。
    的頭像 發(fā)表于 12-15 11:09 ?4091次閱讀
    瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之<b class='flag-5'>定義</b>傳輸源和目標存儲器

    請問CW32L的UART是不是沒有空閑中斷?

    CW32L083的UART是不是沒有空閑中斷?大家一般怎么實現(xiàn)不定長數(shù)據(jù)接收?是串口中斷+定時器嗎?
    發(fā)表于 12-15 07:28

    請問使用ChirpIoT 是不是可以實現(xiàn)mesh組網(wǎng)?

    使用ChirpIoT 是不是可以實現(xiàn)mesh組網(wǎng)?
    發(fā)表于 12-11 06:58

    cw32L系列是不是用不了JTAG?只是用SWD接口?

    cw32L系列是不是用不了JTAG?只是用SWD接口?
    發(fā)表于 12-08 06:21

    請問CW32系列芯片是不是沒有帶網(wǎng)口的型號?

    CW32系列芯片是不是沒有帶網(wǎng)口的型號?
    發(fā)表于 12-05 06:52

    想用DMA+uart同時訪問串口2和3是不是不可以?

    想用DMA+uart同時訪問串口2和3是不是不可以?
    發(fā)表于 12-05 06:19

    請問IR 調制器是不是復用串口的???

    請問,IR 調制器是不是復用串口的???
    發(fā)表于 11-26 06:36

    C語言的常量介紹

    定義,其一般形式為 #define 標識符 常量值 #include #define POCKETMONEY 10 //定義常量常量
    發(fā)表于 11-24 07:12

    芯源MCU架構是不是基本都是ARM架構?還有其他的架構嗎?

    芯源MCU架構是不是基本都是ARM架構?還有其他的架構嗎?
    發(fā)表于 11-20 06:21

    芯源的MCU是不是基本都是寬壓輸入?寬電壓對整體功耗有影響嗎?

    關于芯源電源電壓問題,芯源的MCU是不是基本都是寬壓輸入?寬電壓對整體功耗有影響嗎?
    發(fā)表于 11-18 07:26

    對于沒有bsp包,也沒有芯片創(chuàng)建的功能是不是就不能用rtthread?

    公司用的冷門芯片,不能生成BSP包,然后發(fā)現(xiàn)芯片創(chuàng)建也沒有,是不是不能用rtthreead了?
    發(fā)表于 09-23 08:27

    請問STM32的內部Flash操作是不是優(yōu)先級最高?

    STM32的內部Flash操作是不是優(yōu)先級最高?目前在內部Flash的單獨一頁存儲了數(shù)據(jù),發(fā)現(xiàn)在進行頁擦除的時候正常工作的定時器中斷無法進入了
    發(fā)表于 08-13 07:03

    光纖跳線是不是就是尾纖

    光纖跳線和尾纖不是同一種東西,它們在多個方面存在明顯區(qū)別: 定義與用途 光纖跳線 定義:光纖跳線也叫光纖連接器,是兩端都帶有連接器的光纖線纜,用于連接設備與設備、設備與光纖配線架等,實現(xiàn)光信號的傳輸
    的頭像 發(fā)表于 06-18 09:58 ?1022次閱讀

    帶你在單片機編程中熟練使用const(可下載)

    在 C 語言關鍵字中 const 舉足輕重,我們今天就深度聊一聊 const定義和實際應用,讓它 不再是迷C 語言中 const 關鍵字是 constant 的縮寫,是恒定不變的意
    發(fā)表于 04-01 14:18 ?3次下載