簡體   English   中英

struct tm的大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM