C. 将#predefined 参数列表传递给函数
C. Pass the #predefined list of arguments to function
在 C 中,有一种方法可以使用预定义的值列表来初始化数组或结构:
#define STRUCT_DUMMY_VAL1 "dummy", 21, 2.3
struct dummy d = {STRUCT_DUMMY_VAL1};
#define INT_ARRAY_VAL1 1,2,3
int a[] = {INT_ARRAY_VAL1};
有没有办法将预定义的参数列表传递给函数?
#define IP_ADDR 192,168,3,3
ip_addr_assemble(u8_t,u8_t,u8_t,u8_t);
void dosmth(){
u32_t ip = ip_addr_assemble(IP_ADDR); // Compile error
}
这样的代码没问题。 GCC 在没有任何警告的情况下吃了它。问题出在我的编译器上。
你可以在ideone https://ideone.com/ 0VIkz5
上测试
在 C 中,有一种方法可以使用预定义的值列表来初始化数组或结构:
#define STRUCT_DUMMY_VAL1 "dummy", 21, 2.3
struct dummy d = {STRUCT_DUMMY_VAL1};
#define INT_ARRAY_VAL1 1,2,3
int a[] = {INT_ARRAY_VAL1};
有没有办法将预定义的参数列表传递给函数?
#define IP_ADDR 192,168,3,3
ip_addr_assemble(u8_t,u8_t,u8_t,u8_t);
void dosmth(){
u32_t ip = ip_addr_assemble(IP_ADDR); // Compile error
}
这样的代码没问题。 GCC 在没有任何警告的情况下吃了它。问题出在我的编译器上。 你可以在ideone https://ideone.com/ 0VIkz5
上测试