所以今天的练习要我用这个header.h
很明显是给我算子对应的函数。
#ifndef __HEADER__
#define __HEADER__
operator operator_table[] = {{"-", &function_sub}, \
{"+", &function_add}, \
{"*", &function_mul}, \
{"/", &function_div}, \
{"%", &function_mod}};
#endif
我注意到的第一件事是 operator
类型没有定义,所以也许我应该将它 typedef
为 int
?
然后真正的问题开始了,我从头开始阅读了 K&R 和 C Primer Plus 并且没有遇到这种语法,或者至少我不认识它,它是某种 dictionary
吗?我该如何使用它?
最佳答案
它似乎是一个结构数组,该结构(名为operator
)包含一个字符串和一个函数指针。没有特殊的语法,只是普通的数组定义和初始化。
\
是预处理器的一部分,是一个行继续“运算符”。它只是意味着预处理器将从中创建一行供编译器查看。
关于C 这个语法是字典吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946986/