我现在定义了一个在结构体里面給成员赋值里面既有一般成员也有数组成员,像这样的:typedefstruct{intiMember;intarrMember[10];}MyStruct;在主程序里我定义了两个这样的在结构体里面给成员赋值变量:MyStructobject... 我现在定义了┅个在结构体里面给成员赋值里面既有一般成员也有数组成员,像这样的:
之所以这样写是因为考虑到以后在结构体里面给成员赋值还可能会增加新的成员,为叻保证不对程序结构做出较大改变所以直接对在结构体里面给成员赋值赋值,而不是对在结构体里面给成员赋值中的各个成员分别赋值
①复制成功,且两个在结构体里面给成员赋值对象分别占用自己的存储空间即使再修改 object2.arrMember[] 里的数据,也不会对 object1.arrMember[] 中的数据造成影响;
②只昰复制了地址如果修改 object2.arrMember[] 里的数据,则 object1.arrMember[] 中的数据也会同时被改变因为两者指向同一存储空间;
③出现内存引用错误信息。
在主程序里我定义了两个这样的在结构体里面给成员赋值变量:
中间程序忽略object1 和 object2 里面都存入了相应的数据。
之所以这样写是因为考虑到以后在结构体里面给成员赋值还可能会增加新的成员,为叻保证不对程序结构做出较大改变所以直接对在结构体里面给成员赋值赋值,而不是对在结构体里面给成员赋值中的各个成员分别赋值
①复制成功,且两个在结构体里面给成员赋值对象分别占用自己的存储空间即使再修改 object2.arrMember[] 里的数据,也不会对 object1.arrMember[] 中的数据造成影响;
②只昰复制了地址如果修改 object2.arrMember[] 里的数据,则 object1.arrMember[] 中的数据也会同时被改变因为两者指向同一存储空间;
③出现内存引用错误信息。