c - 使用递增的变量在 c 中粘贴 token

标签 c preprocessor-directive

我有一组数组:msg1[] msg2[] .... msgn[] 。我需要在 while 循环中使用这些值。作为 msgi[]。当我将它定义为 #define MSG(a) msg​​##a 并将其放入循环中并递增 i,它会将其扩展为 msgi

最佳答案

你不能那样做。相反,您可以创建一个新数组,其中包含指向实际数组的指针:

int array1[...];
int array2[...];

int *all_arrays[] = { array1, array2 };

关于c - 使用递增的变量在 c 中粘贴 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16216585/

相关文章:

objective-c - 宏编译器错误: "Parse Issue" when an argument name appears elsewhere

c - 在内核空间和用户空间工作

c - 类型定义问题

C++:extern "C"和类成员之间的命名空间冲突

c - 如何编写一个 if 语句而不是三个

c++ - 如果定义了两个预处理器宏或没有定义预处理器宏,如何使编译失败

c++ - 我如何知道我的编译器是否支持 XXXX C++11 功能?

c - 比较字符串时返回 1 时出错

c - 分配给具有数组类型的表达式并请求非结构或 union 中的成员

ios - (在iOS/OS X SDK中)__i386__和__x86_64__在哪里定义?