概念
- #運算符用於在預處理期將宏參數轉換爲字符串
- 在預處理期完成,因此只在宏定義中有效
- 編譯器不知道#的轉換作用
用法
#define STRING(x) #x
printf("%s\n",STRING(Hello World!));
- ##運算符用於在預處理期粘連兩個標識符
- 在預處理期完成,因此只在宏定義中有效
- 編譯器不知道##的連接作用
用法
#define CONNECT(a,b) a##b
int CONNECT(a,1);//int a1;
a1 = 2;
概念
用法
#define STRING(x) #x
printf("%s\n",STRING(Hello World!));
用法
#define CONNECT(a,b) a##b
int CONNECT(a,1);//int a1;
a1 = 2;
運算符 ·結合性 () [] -> .(前述運算符) 自左向右 ! ~ ++ -- - (type) * & sizeof (單目運算符) 自右向左 *
getopt.h和對應的鏈接庫不是每個編譯器都有的,gcc編譯器好像是有的,但是在vs2008是沒有的,所以就要去網上下載跨平臺的代碼,不管怎麼樣,
一、什麼是閉包? “官方”的解釋是:所謂“閉包”,指的是一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的