歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言的一些特殊用法(#define)

C語言的一些特殊用法(#define)

日期:2017/3/1 10:12:55   编辑:Linux編程

就寫寫大家比較容易忽略的東西吧,《C語言的一些特殊用法(#define) 》。

一:特殊的字符串宏

  1. #define A(x) T_##x
  2. #define B(x) #@x
  3. #define C(x) #x

我們假設x=1, 則上面的宏定義會被解釋成以下的樣子
A(1)------>T_1
B(1)------>'1'
C(1)------>"1"
這些主要用於一些字符串處理函數和參數命名上,並不復雜,不過知者甚少

二:屏蔽無用參數警告

#define UNUSED_PARAM(p) ((void)p)

這個用來屏蔽無效參數的

比如

  1. void a(int x1, int x2)
  2. {
  3. // do nothing
  4. }

這樣會彈出警告,x1,x2是無效的參數

但是,寫成這樣,就沒關系了

  1. void a(int x1, int x2)
  2. {
  3. UNUSED_PARAM(x1);
  4. UNUSED_PARAM(x2);
  5. }

三: 想不出來了,占位,等睡醒了在想

宏的更常見用法我就不寫了,比如頭文件的保衛宏,版本定義宏,靈活使用確實事半功倍。

Copyright © Linux教程網 All Rights Reserved