c - 如何定义: variables1,变量列表 2、变量

标签 c variables

<分区>

我想做以下事情:

#define ConfigureCAN(index,value) CAN.MBOX##index=value
 for (i=0;i<15;i++) ConfigureCAN (i,0);

这行不通。那么还有其他方法吗:

 ConfigureCAN  (0,0);
 ConfigureCAN  (1,0);

...

谢谢。

编辑:这项工作是否有效?结构的索引是否正确? #define ConfigureCAN(index,value) {struct MBOX *Mailbox;Mailbox = &can.MBOX0 + (index * sizeof(struct MBOX)); MBOX=值;

最佳答案

不,您不能使用 for 循环索引变量(仅在运行时获取其值)来构建这样的编译时符号名称。符号名称在程序运行时不可用,即当 for 循环执行时,因此它没有任何意义。

您可能可以设置一个(指针)数组来使访问更容易循环,但随后您将初始化看起来相似的数组(但启用更好的运行时性能,如果这是您的目标).

关于c - 如何定义: variables1,变量列表 2、变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26972804/

相关文章:

Javascript 全局与局部作用域

c - *(int *) variable = value 是什么意思?

c++ - 指针+数字

c - 为什么 snprintf 会更改第二个字符串?

c# - 在转发器中定义变量?

variables - : %%a and %variable% variables? 有什么区别

javascript - jQuery 收集了 2 个数据点,即使只分配了一个

c - 了解二进制炸弹第二阶段的汇编代码

c - 为什么数组有时打印值有时打印地址?

android - 在应用程序类中绑定(bind) Android 服务是个好主意吗?