c - 什么地方适合定义查找表?

标签 c

在编写应用程序时,我编写了一个查找表(整数数组)

在执行查找时,我编写了一个接受输入并返回输出的 api,并且在该 api 中定义了查找表。?

我是否应该将全局范围内的查找数组初始化为常量数组(将其放在数据段中)

在 api 中初始化它/在数据段中定义它有什么好处?

PS:查找表的大小小于 50。

最佳答案

封装原则说每个“类”(或对象,或结构,..)必须公开最少数量的有关其内部结构的信息,因此这取决于您的设计。

将查找表声明为 const 数组通常是一个很好的规则:编译器将优化数组(例如通过将其放入低速写入时间和良好访问时间内存组)。

如果您需要从位于多个文件中的代码访问查找表,请在单独的文件 xxxLookupTable.c 中声明您的表,并在其周围编写一个包装器(如 xxxLookupTableManager ) 在 xxxLookupTable.h 中并在需要查找的地方链接标题

关于c - 什么地方适合定义查找表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468456/

相关文章:

c - 无符号整数中的填充位和 C89 中的按位运算

c - 获取最大负数的绝对值

javascript - 使用 LwIP 服务器传输数据

c - Valgrind 通知我 C 中存在内存泄漏,我很确定我已修复该问题

c++ - const char* 连接

c - 循环固定大小的数组而不在 C 中定义其大小

C:将 Struct 传递给 Function 不会导致按值操作调用

c - fgets 将字符串添加到另一个变量

c++ - 在 Xcode 中,如何使用您拥有源代码的外部库进行调试?

c - 为什么 C 中的位域需要定义为 unsigned int 或 signed int 类型