gpt4 book ai didi

C/CAPL 从一个数组定义另一个数组

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:56 30 4
gpt4 key购买 nike

这是我的第一个问题,请注意我是编码新手。快速搜索对我没有帮助,因为我认为答案可能太简单了。

我正在用 CAPL(一种基于 C 的 CANoe 特定语言)编写一些代码。简化我的场景:我必须读取 10 个值输入,但我只能一次读取一个(由于硬件原因)。

我的值存储在缓冲区 (rsBuf) 中,现在我试图为每次读取值 (rsBuf1 ... 10) 定义一个帮助数组。最后,我将创建另一个数组,添加值 rsBuf1 ... rsBuf10。

对于每一个“阅读 Action ”,我想定义rsBuf1 = rsBuf;rsBuf2 = rsBuf;等等……

错误:对于“rsBuf1 = rsBuf;” (732,16) 处的错误 1112:操作数类型不兼容。编译失败 -- 1 个错误,0 个警告

我的“真实”值(value)观:

variables
{
byte rsBuf[1024];
byte rsBuf1[1024];
}

有没有一种简单的方法可以从一个数组到另一个数组?我还尝试了一些我发现的其他符号,例如 rsBuf1 = {rsBuf},但没有帮助。我当然可以定义rsBuf1[1]=rsBuf[1];...rsBuf1[1024]=rsBuf[1024];

但我想那是浪费时间。提前致谢,罗伯特干杯

最佳答案

您不能在 C 中通过赋值来复制数组,因为语法不允许这样做。最好的解决方案是使用 memcpy 函数。

或者,如果对程序设计有意义,您可以将数组放在包装器结构中:

typedef struct
{
int array [5];
} array_wrapper_t;

array_wrapper_t this = {1,2,3,4,5};
array_wrapper_t that;
that = this;

这应该产生与调用 memcpy 相同的机器码。

关于C/CAPL 从一个数组定义另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35769594/

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