$ cat a.c
#include <stdio.h>
typedef struct {
unsigned short outdegree; // 2bytes
float pagerank; // 4bytes
} value_t;
int main()
{
printf("sizeof(unsigned short) : %d\n", sizeof(unsigned short));
printf("sizeof(float) : %d\n", sizeof(float));
printf("sizeof(value_t) : %d\n", sizeof(value_t));
return 0;
}
$ ./a.out
sizeof(unsigned short) : 2
sizeof(float) : 4
sizeof(value_t) : 8
-------------------------------------
struct로 만들면 architecture에서 4bytes 단위로 값을 이용하므로 2+4가 원래 6이지만 8bytes로 padding하는 것 같다.
댓글 없음:
댓글 쓰기