C 这个语法是字典吗?

标签 c arrays syntax dictionary header

所以今天的练习要我用这个header.h很明显是给我算子对应的函数。

#ifndef __HEADER__
#define __HEADER__

operator operator_table[] = {{"-", &function_sub}, \
{"+", &function_add}, \
{"*", &function_mul}, \
{"/", &function_div}, \
{"%", &function_mod}};

#endif

我注意到的第一件事是 operator 类型没有定义,所以也许我应该将它 typedefint ? 然后真正的问题开始了,我从头开始阅读了 K&R 和 C Primer Plus 并且没有遇到这种语法,或者至少我不认识它,它是某种 dictionary 吗?我该如何使用它?

最佳答案

它似乎是一个结构数组,该结构(名为operator)包含一个字符串和一个函数指针。没有特殊的语法,只是普通的数组定义和初始化。

\ 是预处理器的一部分,是一个行继续“运算符”。它只是意味着预处理器将从中创建一行供编译器查看。

关于C 这个语法是字典吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946986/

相关文章:

python - 如何在软件中应用/模拟量化?

c - 在不编译和执行代码的情况下找到类型大小的最简单方法是什么?

java - 在java中加载二维数组的所有值

javascript - 使用数据创建菜单

javascript if语句条件替换变量值

c++ - 具有多线程成员函数的类

c - 为什么下面的 C 代码编译没有错误?

如果 child 死了, parent 可以从 pipe 里读书吗?

c - 在C中获取 "char *namelist[]"中项目的总数

SomeClass.class 的 Java 语法