首页 > 解决方案 > C 快速声明和定义数组的字段

问题描述

我有一个结构,其中包含一个由 7 个单元格组成的数组的字段,我想快速轻松地定义单元格的值。

有没有办法以这种方式轻松快速地声明和定义数组?

struct my_struct
{
   uint8_t array[7];
}

struct my_struct var = {0};

memcpy(var.array, (uint8_t){0,1,2,3,4,5,6}, 7);

还是这样?

struct my_struct
{
   uint8_t array[7];
}

struct my_struct var = {0};

var.array = (uint8_t)[]{0,1,2,3,4,5,6};

还是我必须这样做?

struct my_struct
{
   uint8_t array[7];
}

struct my_struct var = {0};

var.array[0] = 0;
var.array[1] = 1;
var.array[2] = 2;
var.array[3] = 3;
var.array[4] = 4;
var.array[5] = 5;
var.array[6] = 6;

谢谢 ;)

标签: arrayscvariablesembedded

解决方案


数组和结构初始化器可以嵌套:

struct my_struct var = { {0,1,2,3,4,5,6} };

推荐阅读