作者kuopin (Kuopin)
站內C_and_CPP
標題[問題] struct的疑問
時間Sat May 23 00:31:13 2009
#include<stdio.h>
int main(void){
typedef struct{
int hour,minutes;
double second;
} time;
typedef struct{
int year,month,day;
time hour,minutes,second;
} date;
date now = {2004,4,7,{12,50,29.51}};
printf("now=%.2d/%.2d/%.2d %.2d:%.2d:%.2f\n",now.month,now.day,now.year,now.hour,now.minutes,now.second);
printf("sizeof(now)=%d\n",sizeof(date));
}
以上是我們老師要我們練習結構的練習題
我已經解出來...不過老師有要求我們用sizeof去抓now的大小...
我抓出來的結果是64...可是老師給的答案是32....
不知道哪裡出了問題? 能否請版友幫我看一下+"
對巢狀結構不太了解....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.207.15
推 VictorTom:考律alignment的話, 32位元環境答案應該是64沒錯@_@" 05/23 00:44
推 chrisdar: Hint:最大成員的整數倍 05/23 09:28
→ kuopin:@@"不太懂耶!= =" 05/23 10:50
推 zlw:那就是你們老師錯囉,人腦判斷總不會比編譯器比CPU判斷準 05/23 11:12