Re: Don't Plan 9 C compiler initialize the rest o f member of a struct?

"Jeremy O'Brien" <[email protected]>
Newsgroups gmane.os.plan9.general
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.