我有以下结构
struct vertice_t{
char city;
char connectedBy;
unsigned short airportCost;
unsigned short primKey;
int queueIndex;
struct adjacency_list_t * adjacencyList;
};
struct adjacency_list_t{
struct adjacency_list_node_t * first;
struct adjacency_list_node_t * last;
};
struct adjacency_list_node_t{
unsigned short weight;
struct vertice_t * vertice;
struct adjacency_list_node_t * next;
};
当我执行sizeof(struct vertice_t)时,我得到值24.但是我可以自己看到这个结构只需要1 + 1 + 2 + 2 + 4 + 8 = 18Bytes
为什么会这样?无论如何,我可以压缩上面的结构中的数据,使其更小?这是一个项目,我需要将整个内存使用量减少30%。
谢谢!