gpt4 book ai didi

C缩写数组命名

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:06 27 4
gpt4 key购买 nike

我正在使用 PLC,作为练习,我正在用 C 编写一个小 PLC 程序,以帮助我更好地理解 C、PLC 以及梯形图逻辑到 C 的翻译。

我正在使用的 PLC 具有固定的内存空间,变量存储在“V 内存”位置。例如我将温度值 31 存储在名为 V3700 的内存位置。所以任何时候我需要在程序中使用 V3700 来操纵温度。为了模拟 PLC 内存空间,我只是使用一个名为 Vmem[65536] 的数组。

PLC 使用八进制寻址。所以在我上面的例子中,V3700 是八进制的,所以它实际上是 0x7C0 或 1984(十进制)。

我想做的是简化 Vmem[x] 的编写,这样我就不必使用括号了。例如:

//current method to store 31 to V3700
Vmem[3700] = 31;

//How I want to address the array
V3700 = 31;

//Another example
if(V3700 > 5) printf("V3700 is greater than 5.\n");

有什么办法可以缩写数组名称和地址吗?即使八进制部分太多并且十进制值都可以,我也可以接受。我知道我可以#define

我正在使用 Ubuntu 12.04 和 GCC 4.6.3 进行开发。

最佳答案

没有比

更简单的方法了
#define V3700 (Vmem[3700])

如果您有很多这样的情况,您可以编写一个程序来生成一个包含所有定义语句的 header ,以节省您全部输入的时间。

关于C缩写数组命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com