C 二维数组中的数据处理
我想在2D数组中一次处理整行数据;大概是这样的:C 二维数组中的数据处理,c,C,我想在2D数组中一次处理整行数据;大概是这样的: { uint8 2d_Array[5][4] = {0}; 2d_Array[0][4] = {0x12, 0x3E, 0x32}; // <-- Error here. 2d_Array[1][4] = {0x5F, 0x17, 0xE4}; ... } 但是,上面的代码给出了一个错误:在“{”之前应该有一个表达式 在C中是否可能出现类似于上述的情况 2d_Array[0][4] = {0x12, 0x3E, 0x32}; 一边是
{
uint8 2d_Array[5][4] = {0};
2d_Array[0][4] = {0x12, 0x3E, 0x32}; // <-- Error here.
2d_Array[1][4] = {0x5F, 0x17, 0xE4};
...
}
但是,上面的代码给出了一个错误:在“{”之前应该有一个表达式
在C中是否可能出现类似于上述的情况
2d_Array[0][4] = {0x12, 0x3E, 0x32};
一边是一个uint8,另一边是一个uint8数组。这无法工作!您可以使用表单
<array> = {0x12, 0x3E, 0x32};
等等
PS变量名不能以2开头。要初始化2D数组:
uint8 2d_Array[5][4] =
{
{0x12, 0x3E, 0x32, 0}, // 2d_Array[0][0-3]
{0x5F, 0x17, 0xE4, 0}, // 2d_Array[1][0-3]
...
{0, 0, 0, 0} // 2d_Array[4][0-3]
};
或者,也许:
memcpy(2d_array[0], "\x12\x3E\x32", 3);
memcpy(2d_array[1], "\x5F\x17\xE4", 3);
或者,如果您还想在每个文件的末尾复制一个“\0”:
memcpy(2d_array[0], "\x12\x3E\x32", 4);
memcpy(2d_array[1], "\x5F\x17\xE4", 4);
程序的第一个错误是变量名=2d\u数组
第一个字符应该是字母或下划线
在二维数组中初始化/存储值
uint8 2d_Array[5][4] = {0}; //This initializes all the elements of array to 0
2d_Array[0][4] = 0x12; // Assigns value 0x12 to the element in of 0th row & 4th column
下面的初始化是错误的
数组={0x5F,0x17,0xE4}
只有在将数组声明为
是的,这我知道,但我想根据我的应用程序一个接一个地使用它。@user3665714很好,但数组在C中不允许作为左值。它们可以按此处所示进行初始化。否则,你就要进行元素和循环,如果你真的很有创意的话,请记住。是的,我知道,但我想根据我的应用程序一个接一个地使用它
uint8 2d_Array[5][4] = {0}; //This initializes all the elements of array to 0
2d_Array[0][4] = 0x12; // Assigns value 0x12 to the element in of 0th row & 4th column
uint8 Array[5][4]={ {0}
{0x12, 0x3E, 0x32}
{0x5F, 0x17, 0xE4}
};