[英]Size of struct tm
我使用sizeof()運算符在C中打印sizeof(struct tm)它給了我44個字節。但是在ctime的手冊頁中它有9個int變量用於time.then它的大小應該是36.它如何給出44?
http://linux.die.net/man/3/ctime
struct tm的glibc版本有其他字段
long tm_gmtoff; /* Seconds east of UTC */ const char *tm_zone; /* Timezone abbreviation */
這就是你額外的字節來自(可能)。
除了RedX和Adeel的非常真實的答案之外,結構內部的填充也可能導致大小超過所有元素大小的總和。 要使用自定義結構來防止這種情況,您可以使用GCC __attribute__((__packed__))
功能。
struct tm的glibc版本還有其他字段......
long tm_gmtoff; /* Seconds east of UTC */
const char *tm_zone; /* Timezone abbreviation */
再看一遍man ctime
..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.