On Mon, Apr 1, 2019, at 11:33, Kyohei Kadota wrote:
> Hi, 9fans. I use 9legacy.
>
> About below program, I expected that flags field will initialize to
> zero but the value of flags was a garbage, ex, "f8f7".
> Is this expected?
>
> ```
> #include <stdio.h>
>
> struct option {
> int n;
> char *s;
> int flags;
> };
>
> int
> main(void)
> {
> struct option opt = {1, "test"};
> printf("%d %s %x\n", opt.n, opt.s, opt.flags);
> return 0;
> }
> ```
>
>
According to C99: "If an object that has automatic storage duration is not
initialized explicitly, its value is indeterminate."
Stack variable == automatic storage duration. This appears to be correct
behavior to me.