[問題] struct的疑問

看板C_and_CPP (C/C++)作者 (Kuopin)時間16年前 (2009/05/23 00:31), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/2 (看更多)
#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

05/23 00:44, , 1F
考律alignment的話, 32位元環境答案應該是64沒錯@_@"
05/23 00:44, 1F

05/23 09:28, , 2F
Hint:最大成員的整數倍
05/23 09:28, 2F

05/23 10:50, , 3F
@@"不太懂耶!= ="
05/23 10:50, 3F

05/23 11:12, , 4F
那就是你們老師錯囉,人腦判斷總不會比編譯器比CPU判斷準
05/23 11:12, 4F
文章代碼(AID): #1A5jDIjd (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
3
4
文章代碼(AID): #1A5jDIjd (C_and_CPP)