【发布时间】:2014-02-19 03:24:45
【问题描述】:
我在一个文件中有一些二进制数据,并将文件加载到内存char* data。现在我知道例如在偏移量 123 处开始一个 struct something。
执行以下操作是否安全
(struct something*) (data + 123) // ??&data [123]??
然后访问结构的成员。或者我应该做类似的事情
struct something record;
memcpy (&record, data + 123, sizeof (struct something) );
甚至是完全不同的东西?
我的问题主要是动机,因为我对“内存对齐”,“单词边界”等有一些模糊的回忆......
【问题讨论】:
标签: c pointers memory-alignment word-boundaries