From: Jih-Shin Ho Subject: Re: Problem with sizeof To: mage AT eskimo DOT com (Joel Thornton) Date: Sun, 3 Jul 94 12:00:07 WST Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp) > > I am having a problem with sizeof ... Here is what I have taking this from the book I am learning C out of>: > /* day_mon3.c -- initializes 10 out of 12 elements */ > #include > int days[] = {31,28,31,30,31,30,31,31,30,31,30,31}; > int main(void) > { > int index; > extern int days[]; /* optional declaration */ ^^^^^^^^^^^^^^^^^ Remove this line The 'extern int days[]' declaration hides 'int days[]' outside main(), so GCC doesn't know the dimension of days. > Auto-saving... > done > for (index = 0; index < sizeof days / sizeof (int); index++) > printf("Month %d has %d days.\n", index + 1, days[index]); > return 0; > } > > Here is the output I get upon compilation: > > day_mon3.c: In function `main': > day_mon3.c:9: sizeof applied to an incomplete type > > ?? What to do ?? > > This code compiles well under Microsoft C... help! > > - Mm > -- Jih-Shin Ho