我有一个包含长数组的结构。我知道可以在定义时初始化数组:
uint8_t array[] = {0x10, 0x11, 0xa2, 0xa5};
我的问题是:是否可以在一次操作中声明后设置数组的所有元素?实际上,这是一个结构体的变量。
struct example
{
uint8_t long_array[256];
};
创建实例后,我想设置 long_array
的所有元素在一次操作中设置不同的值。如果不可能,设置所有元素的最简单方法是什么?
有一个我想做的伪代码:
struct example ex;
ex.long_array[] = {0x01, 0x07, 0x9a, 0xd1, <...>};
感谢您的帮助!
最佳答案
struct Mystruct {
int a[5];
};
int main() {
struct Mystruct foo = {
{ 1, 2, 3, 4 }
};
return 0;
}
当然,您可以拥有更多数组。
[编辑]
关于memcpy
,在评论中提到,当然这是一个可行的解决方案,但是,您需要将值放在另一个数组中,以便您实际上将此数组复制到结构内部的一个。
关于c - 在一次操作中声明后将数组填充到结构中的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505197/