数组只能在定义的时候整体赋值,不能在之后这样用。
所以你只能写成
uchar frist[5]={a,b,c,d,e,f};
而不能写成
uchar frist[5];
frist[5]={a,b,c,d,e,f};
如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。
或者先把所有值放在另外一个数值然后memcpy给目标数组。
uchar 你之前定义过吗?你这是对数组赋值,而数组的赋值只有二种方法,一种是初始化赋值,它可以对数组整体赋值,即,你可以用uchar frist[5]={xxxxx};
第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了。你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了。即只能用first [0]=a,first [1]=b,这样来赋值了。明白了吧,呵呵。
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;
少了引号