c - 是否可以使用整数作为数组的名称?

标签 c arrays naming

我正在将一款游戏从 Sega Genesis 移植到 Sega Saturn,并且仅限于 C。我还尽可能地遵循 Motorola 68000 汇编代码对游戏进行编码的方式,这需要很多很多数组相同的结构。我说的是300或更多。为了组织和可读性,用数字而不是字符串命名会更容易

例如,我更喜欢:

int 000[4] = {1, 2, 3, 4};
int 001[4] = {1, 2, 3, 4};

相对于:

int zerozerozero[4] = {1, 2, 3, 4};
int zerozeroone[4]  = {1, 2, 3, 4};

但是除非数组名称以字符开头,否则我的编译器不会编译。有没有办法做到这一点?我想我可以在数组的前面抛出一个 a ,但如果可能的话我想避免这种情况。

最佳答案

这是非常奇怪的设计。

从人类的意义上来说,数字实际上并不是一个名字。阅读代码的人不会理解名为 _031 的数组的含义。

您应该找出所有这些数组的共同点,并使用具有描述性名称的单个多维数组。

所以而不是

int _001[4];
int _002[4];
...
int _300[4];

你应该有类似的东西

int whatever[300][4];

然后,无论您以前在何处访问 _002,您都只需访问 whatever[1]。干净多了。如果您愿意,可以添加一个并将其设为 301 并使用基于 1 的索引。

关于c - 是否可以使用整数作为数组的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370087/

相关文章:

api - REST API 命名约定

c - 别名结构(或将一个结构的定义粘贴到另一个结构中)

c - Visual Studio ( C ) - 打印 inf .. 我如何获得一个值?

c - 获取 Midi 文件时间

javascript - 为什么我的代码没有生成 "-"的数组,并在所选列处生成 "X"?

c++ - C++中长函数名和短函数名的宏

c - 基本 clang : sprintf resets int counter to 0

arrays - 获取数组中出现次数最多的值

javascript - 如何在 Javascript 数组中查找单词?

java - Java 7 的组合/多捕获 block 是否有正式名称?