我正在模仿我的世界,并且我使用了一个结构来存储项目,就是这样:
typedef struct Item {
union {
struct {
int V:4;
int Q:6;
int ID;
} BItem;
struct {
union {
struct {
int V:4;
int Q:6;
int ID;
} BItem;
struct {
int *Ench;
double Durability;
char *Name;
int ID;
} TItem;
} Item[4][8];
enum {
ICBItem,
ICTItem
} Type;
} CItem;
struct {
int *Ench;
double Durability;
char *Name;
int ID;
} TItem;
} ItemUnion;
enum {
BItem,
CTtem,
TItem
} Type;
void *UseHandler;
} Item;
我对此使用sizeof,得到1024个字节。这应该不会占用太多内存。有人能解释一下吗?我发现这非常令人沮丧,我想通过使用memcpy将结构转换为int,将其作为一个数字存储在文件中,但没有一个intager足够大,可以容纳一个庞大的结构。
https://stackoverflow.com/questions/56742108
复制相似问题