|
|
|
|
|
by tom_
2723 days ago
|
|
The C11 rules for static values are pretty explicit: ```
If an object that has static or thread storage duration is not initialized explicitly, then: - if it has pointer type, it is initialized to a null pointer; - if it has arithmetic type, it is initialized to (positive or unsigned) zero; - if it is an aggregate, every member is initialized (recursively) according to these rules, and any padding is initialized to zero bits; - if it is a union, the first named member is initialized (recursively) according to these rules, and any padding is initialized to zero bits;
''' I think that covers every possible value you can create, and it seems pretty non-indeterminate by my reading. |
|