我们正在编程一个ST269微控制器,它有两个红外距离传感器.为了校准这些传感器,我们为每个传感器制作了一个表格,其中包括我们测量的距离以及我们从ADC获得的相应值.
现在我们要使用一个函数来近似它们之间的值.因此我们将两个二维数组(每个传感器一个)定义为全局变量.在我们的函数中,我们希望将我们想要使用的一个数组复制到一个工作数组并近似我们的值.
所以这是代码:
...
unsigned int ir_werte_re[][] = {
{8,553},
...
{83,133}
};
unsigned int ir_werte_li[][] = {
{8,566},
...
{83,147}
};
...
unsigned int geradenaproximation(unsigned int messwert, unsigned int seite)
{
unsigned int working_array[16][16];
unsigned int i = 0;
if (seite == 0) {
for (i = 0; i < sizeof(working_array); i++) {
working_array[i][0] = ir_werte_li[i][0];
i++;
}
}
else {
for (i = 0; i < sizeof(working_array); i++) {
working_array[i][0] = ir_werte_re[i][0];
i++;
}
}
i = 0; …Run Code Online (Sandbox Code Playgroud) 我只是建立了我的拳头LED立方体,并希望稍微扩展测试代码.为了解决我的3x3x3立方体的每个LED,我想使用相应的三维数组,但是我的初始化时出错了.
这是我做的:
int cube_matrix[3][3][3] =
{
{ {0}, {0}, {0} },
{ {0}, {0}, {0} },
{ {0}, {0}, {0} }
},
{
{ {0}, {0}, {0} },
{ {0}, {0}, {0} },
{ {0}, {0}, {0} }
},
{
{ {0}, {0}, {0} },
{ {0}, {0}, {0} },
{ {0}, {0}, {0} }
};
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
错误:在'{'标记之前预期的unqualified-id
我可以使用for循环来初始化我的数组并完成工作,但我的初始化对我来说似乎是正确的,我想知道我做错了什么.
为什么
char line[10] = "1234";
Run Code Online (Sandbox Code Playgroud)
工作得很好但是
char line[10];
line = "1234";
Run Code Online (Sandbox Code Playgroud)
抛出一个
error: incompatible types in assignment
Run Code Online (Sandbox Code Playgroud)
错误?