gpt4 book ai didi

c - 具有不同 ID 的结构体中的相同 ArrayName

转载 作者:行者123 更新时间:2023-11-30 14:47:44 24 4
gpt4 key购买 nike

我想知道是否可以创建两个具有相同名称但具有不同大小和不同 ID 的寄存器。示例我需要创建一个包含 40 个元素的 MenuRegister 和另一个包含 10 个元素的 MenuRegister;我正在使用两个寄存器相同的例程。到目前为止,我需要重新创建我的例程,因为每个寄存器都有不同的名称。我可以创建两个名称相同但ID不同的寄存器吗?

示例

 typedef union
{
unsigned int Value;
unsigned char bytes[2];

}NonStaticParameters;
//////////WaterPellet///////////////////
extern volatile NonStaticParameters MenuRegister[40];
extern volatile NonStaticParameters ExtraMenuRegister[10];

我收到错误数组维度重新声明

这是一个常规示例

void TestRoutine()
{
MenuRegister[1].Value={User has set its Value}
....
....
..
..

}

最佳答案

正如评论中已经建议的,您可能需要这个:

extern volatile NonStaticParameters MenuRegister_1[40];  // different names here
extern volatile NonStaticParameters MenuRegister_2[10];

void TestRoutine(NonStaticParameters menu[], int size) // TestRoutine with parameter and size
// the size parameter is useful so you know
// the number of elements in the register
{
menu[1].Value={User has set its Value}
....
....
}

TestRoutine(MenuRegister_1, sizeof(MenuRegister_1) / sizeof(MenuRegister_1[0]));
...
TestRoutine(MenuRegister_2, sizeof(MenuRegister_1) / sizeof(MenuRegister_1[0]));

关于c - 具有不同 ID 的结构体中的相同 ArrayName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50983146/

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