c - 使用 local int 来引用定义为宏的常量
问题描述
我是自学成才的 C 新手,我正在努力完成以下任务:
在我的 main() 循环中,我增加了一个 int "i"。我有一个单独的头文件,我在其中定义了几个宏,我想用“i”在我的主文件中调用它们。
例如,在我单独的头文件中,我有以下常量:
#define _1 0x06
如果我想_1
使用i
when调用i = 1
,如何转换i
为_1
以便以后使用;在这种情况下,我想将我的头文件中的值分配给_1
字节0x06
数组中的特定索引,例如:
Array[3] = _1
每次我的循环迭代时,我都希望为数组索引分配一个不同的值,例如:
Array[3] = _i
我希望我的问题是有道理的。请原谅我对技术编程语言不熟悉。
解决方案
这不能用预处理器完成,迭代器的值在编译时是未知的,但你可以使用查找表:
int lookup[] = {0x00, 0x06, 0xab, ...};
然后,使用迭代器作为偏移量循环:
for (int i = 1; i < n; i++) x = lookup[i];
推荐阅读
- parse-platform - IOS SWIFT PARSE:Pfcloud.callFunction
- string - 从匹配的字符串开始打印行?
- asp.net - Blazor 应用程序发布问题 - 找不到 css 和 js 文件?
- python - Python - 链接 Excel 中的列以进行排序
- file-permissions - 在共享源代码树中使用 autotools ./configure
- c++ - 结构程序的动态数组有问题
- spring-boot - 无法解析配置属性 - intellij
- reactjs - 如何将项目 (React) 从公共沙箱导入到本地项目文件夹?
- .net - 从 Internet 下载 URL 中具有特定日期时间的图像
- go - 记录未处理的 Golang 恐慌