最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言:代碼宏詳解

 更新時間:2021年09月28日 11:27:38   作者:兔頭哥哥  
這篇文章主要介紹了 C語言宏定義使用實例詳解的相關(guān)資料,需要的朋友可以參考下,希望能夠給你帶來幫助

1、定義宏

#define ARRAY_SIZE 100
double data[ARRAY_SIZE];

如下圖,上方代碼在編譯器進行宏替換時會將代碼中的ARRAY_SIZE替換成100

在這里插入圖片描述

2、宏函數(shù)

宏函數(shù)的參數(shù)是沒有任何類型的概念的,因此

宏函數(shù)使用如下,代碼中的MAX(3,4)會替換成宏定義的表達式

#define MAX(a,b) a > b ? a : b
int n1 = MAX(3,4);

在這里插入圖片描述

注意

在這里插入圖片描述

上方替換出錯,是因為給宏函數(shù)的參數(shù)傳遞的是一個表達式,可以使用下圖方法

在這里插入圖片描述

宏函數(shù)的參數(shù)不要傳表達式,如下圖,表達式進行了2次運算

在這里插入圖片描述

3、多行宏

使用斜杠連接下一行代碼,適用于代碼很長的宏

#define IS_HEX_CHARACTOR(ch)   \
( (ch) >= '0' && (ch) <= '9') || \
( (ch) >= 'A' && (ch) <= 'F') || \
( (ch) >= 'a' && (ch) <= 'f')
int main(){
    printf("is hex charactor:%d", IS_HEX_CHARACTOR('a'));
}

在這里插入圖片描述

4、宏變長參數(shù)

#define PRINTLNF(format, ...) printf(format, __VA_ARGS__)

在這里插入圖片描述

在這里插入圖片描述

5、原樣輸出變量名

在這里插入圖片描述

6、例子

#include <stdio.h>
#define PRINTF(format, ...) printf("("__FILE__":%d) %s: "format,__LINE__,__FUNCTION__, ##__VA_ARGS__)
#define PRINT_INT(value) PRINTF(#value":%d \n", value)
int main(){
    int no = 1;
    PRINT_INT(no);
    return 0;
}

在這里插入圖片描述

7、宏與函數(shù)的差異

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • c語言static關(guān)鍵字用法詳解

    c語言static關(guān)鍵字用法詳解

    大家好,本篇文章主要講的是c語言static關(guān)鍵字用法詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C++中cout輸出中文信息亂碼問題及解決

    C++中cout輸出中文信息亂碼問題及解決

    這篇文章主要介紹了C++中cout輸出中文信息亂碼問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++之構(gòu)造函數(shù)默認值設置方式

    C++之構(gòu)造函數(shù)默認值設置方式

    這篇文章主要介紹了C++之構(gòu)造函數(shù)默認值設置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++ 類中有虛函數(shù)(虛函數(shù)表)時 內(nèi)存分布詳解

    C++ 類中有虛函數(shù)(虛函數(shù)表)時 內(nèi)存分布詳解

    下面小編就為大家?guī)硪黄狢++ 類中有虛函數(shù)(虛函數(shù)表)時 內(nèi)存分布詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 基于C語言實現(xiàn)靜態(tài)通訊錄的示例代碼

    基于C語言實現(xiàn)靜態(tài)通訊錄的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)一個簡單的靜態(tài)通訊錄,文中的示例代碼講解詳細,對我們學習C語言有一定幫助,需要的可以參考一下
    2022-07-07
  • C語言代碼實現(xiàn)簡單2048游戲

    C語言代碼實現(xiàn)簡單2048游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)2048游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++中的const和constexpr詳解

    C++中的const和constexpr詳解

    C++ const 和 constexpr 的區(qū)別呢,constexpr表示這玩意兒在編譯期就可以算出來(前提是為了算出它所依賴的東西也是在編譯期可以算出來的)。而const只保證了運行時不直接被修改(但這個東西仍然可能是個動態(tài)變量)。下面我們來詳細講解下。
    2016-01-01
  • 基于Qt實現(xiàn)圖片播放器的示例代碼

    基于Qt實現(xiàn)圖片播放器的示例代碼

    這篇文章主要為大家詳細介紹了如何使用qt制作了一個簡單的圖片播放器,可以播放gif、png等格式圖片。文中的示例代碼講解詳細,需要的可以參考一下
    2022-12-12
  • 算法之排列算法與組合算法詳解

    算法之排列算法與組合算法詳解

    這篇文章主要介紹了算法之排列算法與組合算法詳解,本文以字典序法、遞歸法為例講解了排列算法、全組合算法等,需要的朋友可以參考下
    2014-08-08
  • C++內(nèi)存池的簡單實現(xiàn)

    C++內(nèi)存池的簡單實現(xiàn)

    內(nèi)存池是一種動態(tài)內(nèi)存分配與管理技術(shù)。本文主要介紹了C++內(nèi)存池的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07

最新評論

娄烦县| 富平县| 大英县| 昆山市| 江口县| 申扎县| 叙永县| 广昌县| 建宁县| 环江| 方正县| 团风县| 济宁市| 岫岩| 昭通市| 章丘市| 射洪县| 博罗县| 五原县| 晋城| 莎车县| 临沂市| 龙胜| 景宁| 敦煌市| 闽侯县| 高碑店市| 淳安县| 隆安县| 西充县| 新和县| 屏东县| 西青区| 安化县| 广元市| 宜兴市| 东辽县| 容城县| 天气| 富裕县| 浦县|