25 和 運算子

2021-09-29 16:37:52 字數 746 閱讀 8202

#運算子

#運算子用於在預處理期將巨集引數轉換為字串

#的轉換作用是在預處理期完成的,因此只在巨集定義中有效

編譯器不知道#的轉換作用

用法# define string(x)  #x

printf("%s\n",string(hello world!));

工程中#運算子的使用

#define call(f,p) (printf("call function %s\n",#f),f(p))

int square(int n)

return n*n;

int main()

int result  = 0;

result = call(square,4);

## 運算子

##運算子用於在預處理期粘連兩個識別符號

##的連線作用是在預處理期完成的,因此只在巨集定義中有效

編譯器不知道##的連線作用

用法#define connnect(a,b)  a##b

int connect(a,1); // int a1;

a1 =2;

工程中##連線符的使用

#define struct(type) typedef struct_tag_##type type;\struct _tag_##type

struct(student)

char *name;

int id;

int main()

student s1;

運算和運算子

運算 乙個或者乙個以上的資料經過變化得到新值的過程。運算子 用於運算的符號就是運算子 分類 1.算數運算 2.比較運算 關係運算 3.賦值運算 4.邏輯運算 5.位運算 6.成員運算 7.身份運算 1.算數運算 加法運算 減法運算 乘法運算 除法運算 地板除運算 取商運算 取餘運算 求模運算 冪運算...

關係運算子和等於運算子

有些groovy控制語句,如if和while控制語句 參見第8章 通常會使用條件 condition 來進行判斷。條件決定表示式的值為真或者假。關係運算子 等於運算子和邏輯運算通常被用於構造條件表示式 附錄c會詳細討論邏輯運算子 關係運算子如表2 5所示。四種運算子均為二元運算子,每種運算子都使用兩...

位運算子和賦值運算子

位運算只能對整數進行,可以是整數型變數也可以是被識別為整數型別的字面量。位運算是對該整數實際儲存的二進位制串的二進位制位進行操作,可以進行6種位運算 運算子作用 按位與 按位或 按位異或 按位取反 左移 右移位運算都不改變運算元本身的值,而是位運算表示式本身的值為進行位運算之後的值,例如 char ...