我在文件中有一些二进制数据,并将文件加载到内存中char* data
。现在我知道例如在偏移 123 处开始一个struct something
.
执行以下操作是否安全
(struct something*) (data + 123) // ??&data [123]??
然后访问结构的成员。或者我应该做类似的事情
struct something record;
memcpy (&record, data + 123, sizeof (struct something) );
甚至是完全不同的东西?
我的问题主要是动机,因为我对“内存对齐”,“单词边界”等有一些模糊的回忆......