在看Redis中第一次見##,##被稱為連接符(concatenator),用來將兩個Token連接為一個Token
#include <stdio.h> void quit_command(){ printf("I am quit command\n"); } void help_command(){ printf("I am help command\n"); } struct command { char * name; void (*function) (void); }; #define COMMAND(NAME) {#NAME,NAME##_command} #define PRINT(NAME) printf("token"#NAME"=%d\n", token##NAME) int main(){ int token9=9; PRINT(9); struct command commands[] = { COMMAND(quit), COMMAND(help), }; commands[0].function(); }