如何将一个普通结构体的内容复制给一个数组?

[复制链接]
6449|7
 楼主| 28182900 发表于 2013-1-5 10:44 | 显示全部楼层 |阅读模式
本帖最后由 28182900 于 2013-1-5 14:37 编辑

如何操作?
或者将一个普通结构体赋值给一个结构体数组?结构体数组可以限制容量吗?
各位大神不好意思,我没有说清楚,是整个结构体对整个数组的赋值.因为结构体内部变量的大小各有不同。所以一个一个弄得话比较麻烦?


AV693 发表于 2013-1-5 11:27 | 显示全部楼层
强制指针转换
airwill 发表于 2013-1-5 13:48 | 显示全部楼层
指针类型强制转换. 不过这样的操作比较冒险, 因为编译器有可能编译的结构体里面有未用空间.
所以结构体里面各变量的地址并不一定完全如程序员想象的地址对应关系.

评论

+1  发表于 2013-6-13 09:30
huangxz 发表于 2013-1-5 14:02 | 显示全部楼层
用sizeof()就可以了,对字节的访问基本上是所有芯片都是支持的。
 楼主| 28182900 发表于 2013-1-6 13:32 | 显示全部楼层
perfugee 发表于 2013-6-6 15:23 | 显示全部楼层
#pragma pack(1)
typedef struct
{
    unsigned long a;
    unsigned char s;
} struct1;
typedef union
{
    unsigned char buff[5];
    struct1 data;
} union1;
#pragma pack()

将数组和结构体组成公用体,在结构体定义的时候强制1 字节对齐。
yixuanyuxiao 发表于 2013-6-9 18:12 | 显示全部楼层
ls正解
大道至简 发表于 2013-6-10 16:55 来自手机 | 显示全部楼层
w我一般用memcpy函数,标准函数库

评论

嗯,就是拷贝嘛。  发表于 2013-6-10 19:19
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:工作永远干不完,生命却一直在倒计时

100

主题

1127

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部