C语言结构体给结构体赋值值,为什么D是错的?

纯净的硅(初级), 积分 540, 距离下一級还需 260 积分

纯净的硅(初级), 积分 540, 距离下一级还需 260 积分


很难找到更适合的方法了用指针的话要保证结构体成员对齐一致。

EEWORLD开发板置换群:——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵


五彩晶圆(中级), 积分 3554, 距离下一级还需 2446 积分

五彩晶圆(中级), 积分 3554, 距离下一级还需 2446 积分

把指针指向结构体第一个成员,然后用循环依次赋值至少具体到你这个上是没有错误的。另外结构体里也能用数组

裸片初长成(初级), 积分 13837, 距离下一级还需 6163 积分

裸片初长成(初级), 积分 13837, 距离下一级还需 6163 积分

结构体里也是可以写数组的只是这样的写法可能会导致本来结构体内很清晰的各元素的意义变成看了不知所雲的编号1、2、3、…。
要避免上述问题或许可采用联合体的写法:数组和结构体都表现了,让应用程序各取所需

明白了,谢谢仙猫大神! 

我现在用的就是这种方法a1=array[0]吧? 是不是说我给他们之中的任意一个赋值另一个值也跟着一起改变了是吧? 


纯净的硅(初级), 积分 540, 距离丅一级还需 260 积分

纯净的硅(初级), 积分 540, 距离下一级还需 260 积分


我现在用的就是这种方法a1=array[0]吧?
是不是说我给他们之中的任意一个赋值另一個值也跟着一起改变了是吧?

纯净的硅(初级), 积分 540, 距离下一级还需 260 积分

纯净的硅(初级), 积分 540, 距离下一级还需 260 积分

那岂不是就相当于把┅个int直接拆成4个char;


纯净的硅(初级), 积分 540, 距离下一级还需 260 积分

纯净的硅(初级), 积分 540, 距离下一级还需 260 积分

我测试了一下可以,不知道有没囿要注意 的地方;
不过INT只有两个字节我用的是LONG!

纯净的硅(初级), 积分 708, 距离下一级还需 92 积分

纯净的硅(初级), 积分 708, 距离下一级还需 92 积分


┅粒金砂(初级), 积分 2, 距离下一级还需 3 积分

一粒金砂(初级), 积分 2, 距离下一级还需 3 积分


纯净的硅(中级), 积分 1143, 距离下一级还需 57 积分

纯净的矽(中级), 积分 1143, 距离下一级还需 57 积分

系统给结构体和数组都是分配连续的存储空间的,LZ想实现什么样的赋值方式不妨从这个角度考虑下

裸片初长成(中级), 积分 24253, 距离下一级还需 5747 积分

裸片初长成(中级), 积分 24253, 距离下一级还需 5747 积分

在结构体里按数组下标操作是非常不爽的,,对齐啥的不说了,本身这件事就很反模式

曾经的版主且威望大于2000或对EEWORLD论坛有突出贡献的坛友

你对这个回答的评价是

double 的数组??数组去掉!!

你对这个回答的评价是

我要回帖

更多关于 结构体给结构体赋值 的文章

 

随机推荐