static const short MVI_RANGE[7][4] = { {2000, 20, 3500, 10}, {2000, 40, 3500, 10}, {2000, 20, 3500, 20}, {2000, 40, 3500, 20}, {500, 8, 520, 40}, {500, 0, 564, 24}, {3000, 40, 3040, 20}, };是这样的
时间: 2024-01-17 08:05:36 浏览: 59
好的,那么您可以将结构体变量通过该表格的元素进行如下的赋值:
```
static const short MVI_RANGE[7][4] = {
{2000, 20, 3500, 10},
{2000, 40, 3500, 10},
{2000, 20, 3500, 20},
{2000, 40, 3500, 20},
{500, 8, 520, 40},
{500, 0, 564, 24},
{3000, 40, 3040, 20}
};
MVI_RangeInfo range_info = {
MVI_RANGE[0][0], /* MVImax */
MVI_RANGE[0][1], /* MVImin */
MVI_RANGE[0][2], /* MVIresetOFF */
MVI_RANGE[0][3] /* MVIoffset */
};
```
这里将表格 `MVI_RANGE` 的第一行元素依次赋值给结构体变量 `range_info` 的各个成员变量。如果您想使用其他行的元素进行赋值,只需要改变 `MVI_RANGE` 数组的下标即可。
相关问题
typedef struct { /* MVI Open range information */ uint16_t MVImax; /* MVI max range */ uint16_t MVImin; /* MVI min range */ uint8_t MVIresetOFF; /* MVI's value after zero reset */ uint8_t MVIoffset; /* Offset value MVI's after zero reset */ }MVI_RangeInfo; 我想把结构体 变量 通过static const short MVI_RANGE[7][4] 表格的元素赋值该如何写?
您可以使用如下代码将结构体变量通过表格元素进行赋值:
```
static const short MVI_RANGE[7][4] = {
{1000, 0, 128, 0},
{2000, 0, 128, 0},
{3000, 0, 128, 0},
{4000, 0, 128, 0},
{5000, 0, 128, 0},
{6000, 0, 128, 0},
{7000, 0, 128, 0}
};
MVI_RangeInfo range_info = {
MVI_RANGE[0][0], /* MVImax */
MVI_RANGE[0][1], /* MVImin */
MVI_RANGE[0][2], /* MVIresetOFF */
MVI_RANGE[0][3] /* MVIoffset */
};
```
这里将表格 `MVI_RANGE` 的第一行元素依次赋值给结构体变量 `range_info` 的各个成员变量。如果您想使用其他行的元素进行赋值,只需要改变 `MVI_RANGE` 数组的下标即可。
MVI_RANGE[0][0], /* MVImax */ 提示Initializer syntax
这个错误通常是出现在您在函数外部尝试对数组进行初始化时。C语言规定,只有在定义变量的同时进行初始化才是合法的语法。如果您在函数外部对数组进行初始化,则需要使用类似下面的代码:
```
static const short MVI_RANGE[7][4] = {
{2000, 20, 3500, 10},
{2000, 40, 3500, 10},
{2000, 20, 3500, 20},
{2000, 40, 3500, 20},
{500, 8, 520, 40},
{500, 0, 564, 24},
{3000, 40, 3040, 20}
};
```
这里使用了静态数组的方式对 `MVI_RANGE` 数组进行初始化,并且在定义数组的同时进行了初始化。您可以将这段代码放在函数外部,在程序中任何地方都可以使用 `MVI_RANGE` 数组。
阅读全文