歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

就寫寫大家比較容易忽略的東西吧,《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