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

标签 c arrays capl

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

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

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

对于每个“读取操作”,我想定义 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/

相关文章:

Java-芳香数字-输入

testing - 要在 Canoe 中使用 TestModules 获得最佳输出,应遵循哪个正确的代码结构?

can-bus - 如何将跟踪窗口的全部内容复制到独木舟中的文本文件中

c - C 中带有函数指针的 Typedef?

c++ - 80 年代后期的老 friend : What was the emacs-like editor that came with MS C 5. 0(用于 DOS)?

javascript - 如何获取以逗号分隔的值到数组中?使用java脚本

c# - 从数组中删除元素。指数。 C#。列表<双>

capl - 在 CAPL 中,是否有任何功能可以在后台启动/打开可执行文件?

c++ - 在 C 中是否有一组标准的库用于动态字符串、列表和字典?

c - 这是 C 中引用调用不正确的有效示例吗?