Phần này giải thích hai toán tử tiền xử lý: Toán tử chuỗi hóa (#) và Toán tử dán token (##).
Toán tử chuỗi hóa (#)
Chuyển token thành chuỗi ký tự mà không cần dấu ngoặc kép.
Ví dụ
#include <stdio.h>
#define STR_PRINT(x) #x
int main() {
printf(STR_PRINT(Day la chuoi khong can dau ngoac kep));
return 0;
}
Kết quả
Day la chuoi khong can dau ngoac kep
Toán tử dán token (##)
Nối hai token thành một token duy nhất.
Ví dụ
#include <stdio.h>
#define STR_CONCAT(x, y) x##y
int main() {
printf("%d", STR_CONCAT(20, 50));
return 0;
}
Kết quả
2050