C語言巨集定義中#define中的井號#的使用
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
typedef enum
{
E_1,
E_2,
E_3,
}ENUM;
//保持原有狀態
#define x1(state) \
f1(state, #state)
//銜接
#define y1(state) \
f1(state##_1, #state)
int f1(ENUM state, char* s_state)
{
printf("%d:%s\n", state, s_state);
return 0;
}
int main(int argc, char *argv[])
{
x1(E_2);
y1(E);
return -1;
}
結果:
$ gcc fns.c
$ ./a.exe
1:E_2
0:E
相關文章
- C++中巨集定義#define的用法C++
- C 語言巨集定義 #define 的理解與資料整理
- C++巨集定義#defineC++
- C語言(C++語言)中##(兩個井號)和#(一個井號)用法[轉]C語言C++
- C語言(巨集定義)C語言
- C語言巨集定義##連線符和#符的使用C語言
- C語言中的標頭檔案中的巨集定義C語言
- C/C++語言巨集定義##連線符和符#的使用C++
- c語言巨集的使用C語言
- 059.Define 巨集定義的巢狀巢狀
- 有關C語言的知識---巨集定義用法C語言
- define巨集定義和const常量定義之間的區別
- C語言的本質(19)——預處理之一:巨集定義C語言
- 在 C 中引用匯編語言定義的 .globl 變數變數
- C語言學習第18篇---巨集定義與使用 / 條件編譯使用分析C語言編譯
- c 語言中巨集定義和定義全域性變數的區別變數
- c語言的定義與宣告C語言
- C語言#define詳解C語言
- sqlplus中define定義的常量和variable定義的變數的區別!SQL變數
- C語言巨集中"#"和"##"的用法C語言
- iOS開發:pch檔案中的巨集定義iOS
- C語言基礎-2、函式的定義與使用C語言函式
- 宏定義define的用法
- C語言巨集的高階應用C語言
- libev中ev_loop結構體中巨集定義的理解OOP結構體
- C語言零基礎教程之預處理和巨集定義篇C語言
- 【C進階】21、巨集定義與使用分析
- c/c++標準預定義巨集C++
- 使用SQL語句獲取SQLite中的表定義SQLite
- Swift 裡的巨集定義Swift
- c語言函式指標的定義C語言函式指標
- 使用ant巨集定義任務
- 關於malloc原始碼中的bin_at巨集定義的個人見解原始碼
- 【c語言】寫一個巨集定義,實現的功能是將一個int型的數的奇偶位互換C語言
- C 語言中 define 的全部使用方法總結
- Linux中的C語言妙用(轉)LinuxC語言
- ios開發的巨集定義iOS
- 【程式語言】C/C++中如何使用Lua指令碼C++指令碼