国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

【C語言進階】宏定義里面使用#define會怎么樣?

嵌入式物聯網開發 ? 來源:嵌入式物聯網開發 ? 作者:嵌入式物聯網開發 ? 2022-10-31 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C語言進階】宏定義里面使用#define會怎么樣?

這個問題,學過C語言的你,了解過嗎?

1 問題描述

**大家都知道在C語言中,使用 **#define 進行宏定義,那么如果宏定義里面又出現 #define 呢?

這是宏定義的嵌套寫法嗎?

這種寫法有沒有問題?

2 問題驗證

為此,我們寫一段測試代碼驗證下:

?
#include 
?
#define TEST_MACRO_1 100
#define TEST_MACRO_2 #define xxx
?
int main(int argc, const char *argv[])
{
printf("test = %d\\\\\\\\n", TEST_MACRO_2);
?
return 0;
}

我們編譯運行下看看:

image-20220930215603617

**注意看,這里的宏定義壓根就是 ** 語法錯誤 ,也就是說在C語言里面就不支持宏定義的定義體里面又 #define 這樣的字眼。

3 總結

  • **C語言中使用 **#define 定義一個宏定義;
  • **但是宏定義的定義體里面,不能再次出現 **#define 這種關鍵字,否則將會報語法錯誤。

4 更多分享

[架構師李肯]

架構師李肯全網同名 ),一個專注于嵌入式IoT領域的架構師。有著近10年的嵌入式一線開發經驗,深耕IoT領域多年,熟知IoT領域的業務發展,深度掌握IoT領域的相關技術棧,包括但不限于主流RTOS內核的實現及其移植、硬件驅動移植開發、網絡通訊協議開發、編譯構建原理及其實現、底層匯編及編譯原理、編譯優化及代碼重構、主流IoT云平臺的對接、嵌入式IoT系統的架構設計等等。擁有多項IoT領域的發明專利,熱衷于技術分享,有多年撰寫技術博客的經驗積累,堅信【知識改變命運,技術改變世界】!

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

    關注

    183

    文章

    7644

    瀏覽量

    145570
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67501
  • 宏定義
    +關注

    關注

    0

    文章

    51

    瀏覽量

    9412
  • define
    +關注

    關注

    0

    文章

    16

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言中實現函數的三種方式

    ] [tr][td]4. ({}) 方式 ({}) 為 GNU C 擴展的語法,非 C 語言的原生語法。 INT_SWAP 使用 ({}) 封裝后形態如下: #
    發表于 12-29 07:34

    單片機c語言定義字節怎么定義

    定義位可以用***it但是定義字節呢?還有就是比如匯編中的DPTR的DPH和DPL在c語言中怎樣定義的呢?
    發表于 12-29 06:32

    請問C語言中整形溢出產生哪些異常行為?

    C語言中整形溢出產生哪些異常行為?
    發表于 12-26 07:05

    請問如何實現C語言訪問MCU寄存器?

    MCU的寄存器。而IAR和CodeVisionAVR編譯器對ANSI C進行了擴充,都定義了新的數據類型,是C語言可以直接訪問MCU的有關寄存器,例如,IAR中:   SFR_B(DD
    發表于 12-26 07:00

    如何用好 C 語言函數的返回值?

    可能會比較復雜,不同的輸入,常常產生不同的輸出結果。 C語言函數的返回值 C語言函數可以通過返回值表示輸出結果,例如 log() 函數的返回值
    發表于 12-25 07:17

    #define預編譯的指令

    ,所以在編譯器眼中實際上上述等式的樣子如下 [*]float CirCle_Area = 3.14 * r*r; [*] [*]//再例如有時候大家喜歡寫一些定義“函數” [*]#define MIN
    發表于 12-05 07:29

    C語言的編程技巧

    1、定義使用do{...}while(0)?:當定義中包含多條語句時,使用do{...}while(0)可以避免語句嵌套問題,確保的獨
    發表于 11-27 06:46

    C語言程序的結構

    ,87LPC764有4KB的Flash ROM,而筆者的程序量只有2KB多點,因而第一個想法是改用C語言作為主要的開發語言,應該不至于導致代碼空間不夠用。其次,考慮到需要定時功能的模塊(或稱任務,以下統稱任務
    發表于 11-26 08:12

    C語言的常量介紹

    在程序執行過程中,值不發生改變的量稱為常量。 mtianyan: C語言的常量可以分為直接常量和符號常量。 直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如: 整型常量:13、0
    發表于 11-24 07:12

    C語言拼接運算符典型使用

    C語言中,##運算符(稱為[size=16.002px]標記拼接運算符)用于定義中將兩個標記(token)拼接成一個新的標記。它在預處理階段處理,常用于動態生成變量名、函數名或類型
    發表于 11-20 08:27

    C語言和單片機C語言有什么差異

    語言的功能特性外,它可以很好的操作底層的硬件接口。在C語言的基礎上,如果你把一些單片機的端口或特殊功能寄存器加于定義,使用的時候更加方便,
    發表于 11-14 07:55

    利用C語言union特性來定義RGB565格式

    本次分享的內容是利用C語言union特性來定義RGB565格式 1)前言 在做視覺相關的任務時,相機的輸入一般會是RGB565(uint16_t)的格式,而我們需要把它顯式轉換成RGB三通
    發表于 10-30 08:26

    強實時運動控制內核MotionRT750(九):內置C語言的自定義機械手模型實現

    內置C語言的自定義機械手模型實現。
    的頭像 發表于 10-27 14:14 ?849次閱讀
    強實時運動控制內核MotionRT750(九):內置<b class='flag-5'>C</b><b class='flag-5'>語言</b>的自<b class='flag-5'>定義</b>機械手模型實現

    SConscript結果與rtconfig.h中定義相反,是什么原因呢?

    當我在rtconfig.h中把定義注釋時,添加了構建 當我取消定義注釋時,反而排除了構建 SConscript結果與rtconfig.h中
    發表于 09-23 06:01

    C語言中的內聯函數與

    C編程中,內聯函數和都用于避免函數調用的開銷并編寫可復用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發表于 07-25 15:10 ?1909次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的內聯函數與<b class='flag-5'>宏</b>