什么叫做C2106“=”:左操作数必须为左值
来源:百度知道 编辑:UC知道 时间:2024/05/09 19:46:10
错误语句为 router1[0].data=ip[i].data;
前面和后面都是一个结构体
不是,data的定义是int
这个是2个的定义
struct IP {
int sender;
int receiver;
int data[20];
};
struct ROUTER1 {
int sender;
int receiver;
int data[20];
};
嘿嘿,谢啦,以前用的是数组,后来只输入一个字符,忘记修改啦,谢谢啦
是不是赋值号左右 一边是指针,一边是数值?
router1 声明的是结构体数组?
data 声明的是什么,如果是 char 数组 也不能赋值?
总之,赋值号左右要一致。
int data[20];
data 是数组,要用循环语句赋值
for (i=0;i<20;i++) router1.data[i] = ip.data[i];
如果 router1 和 ip 是结构数组:
i= ...
for (k=0;k<20;k++) router1[0].data[k]=ip[i].data[k];
router1 声明的是结构体数组。
data 声明的如果是 char 数组 也不能赋值?
总之,赋值号左右要一致。
int data[20];
data 是数组,要用循环语句赋值
for (i=0;i<20;i++) router1.data[i] = ip.data[i];
如果 router1 和 ip 是结构数组:
i= ...
for (k=0;k<20;k++) router1[0].data[k]=ip[i].data[k];
router1 声明的是结构体数组?data 声明的是什么,如果是 char 数组 也不能赋值? 总之,赋值号左右要一致。
int data[20];
data 是数组,要用循环语句赋值
for (i=0;i<20;i++) router1.data[i] = ip.data[i];
如果 router1 和 ip 是结构数组:
i= ...
for (k=0;k<20;k++) router1[0].data[k]=ip[i].data[k];
char a = 0;
*((int*)a) = 10;
此时10左边的是个临时变量。
变量来源于数学,