我正在学习C,并且对结构有疑问。
我有一个
struct myStruct {
char member1[16];
char member2[10];
char member3[4];
};
这至少需要占用30个字节的内存来存储。是否可以将所有这些数据复制到变量中char foo[30]
?语法是什么?
您不能直接复制整个内容,因为编译器可以随意决定如何填充/打包此结构。您将需要三个memcpy
电话:
struct myStruct s;
// initialize s
memcpy(foo, s.member1, sizeof s.member1);
memcpy(foo + sizeof s.member1, s.member2, sizeof s.member2);
memcpy(foo + sizeof s.member1 + sizeof s.member2, s.member3, sizeof s.member3);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句