单片机C语言数组赋值求助

2024-12-25 08:03:54
推荐回答(4个)
回答1:

数组只能在定义的时候整体赋值,不能在之后这样用。
所以你只能写成
uchar frist[5]={a,b,c,d,e,f};
而不能写成
uchar frist[5];
frist[5]={a,b,c,d,e,f};
如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。
或者先把所有值放在另外一个数值然后memcpy给目标数组。

回答2:

uchar 你之前定义过吗?你这是对数组赋值,而数组的赋值只有二种方法,一种是初始化赋值,它可以对数组整体赋值,即,你可以用uchar frist[5]={xxxxx};
第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了。你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了。即只能用first [0]=a,first [1]=b,这样来赋值了。明白了吧,呵呵。

回答3:

uchar frifrist[5]={a,b,c,d,e};//正常,定义了五个元素,不能赋六个值,不能有f

frist[5]={a,b,c,d,e,f};//错误,应该写成frist[0]=a;frist[1]=b;frist[2]=c;frist[3]=d;frist[4]=e;

回答4:

少了引号