09/01/03 14:42:41
質問です.
・ソース
#include <windows.h>
#include <time.h>
#include <stdio.h>
typedef struct
{
time_t time;
WORD namesum;
BYTE name[254];
} HEADER1;
typedef struct
{
time_t time;
WORD namesum;
// BYTE name[254];
} HEADER2;
main() {
BYTE name[254];
printf("HEADER1 = %d\n", sizeof(HEADER1));
printf("HEADER2 = %d\n", sizeof(HEADER2));
printf("name[254] = %d\n", sizeof(name));
printf("HEADER2 + name[254] = %d\n", sizeof(HEADER2) + sizeof(name));
}
・実行結果
HEADER1 = 260
HEADER2 = 8
name[254] = 254
HEADER2 + name[254] = 262
HEADER2 + name[254]はなんで260にならずに262になったのでしょうか?