打印

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

[复制链接]
5871|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 | 只看该作者
指针类型强制转换. 不过这样的操作比较冒险, 因为编译器有可能编译的结构体里面有未用空间.
所以结构体里面各变量的地址并不一定完全如程序员想象的地址对应关系.

使用特权

评论回复
评论
xxlin1984 2013-6-13 09:30 回复TA
+1 
地板
huangxz| | 2013-1-5 14:02 | 只看该作者
用sizeof()就可以了,对字节的访问基本上是所有芯片都是支持的。

使用特权

评论回复
5
28182900|  楼主 | 2013-1-6 13:32 | 只看该作者
[em:9:]

使用特权

评论回复
6
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 字节对齐。

使用特权

评论回复
7
yixuanyuxiao| | 2013-6-9 18:12 | 只看该作者
ls正解

使用特权

评论回复
8
大道至简| | 2013-6-10 16:55 | 只看该作者
w我一般用memcpy函数,标准函数库

使用特权

评论回复
评论
dqyubsh 2013-6-10 19:19 回复TA
嗯,就是拷贝嘛。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

100

主题

1127

帖子

2

粉丝