"div0" <d...@users.sourceforge.net> wrote:
Jérôme M. Berger wrote:
That depends. In C/C++, the default value for any global variable
is to have all bits set to 0 whatever that means for the actual data
type.
Ah, I only do C++, where the standard is to not initialise.
No, in C++ all *global or static* variables are zero-initialized. By
default, stack variables are default-initialized, which means that doubles
in stack can have any value (they are uninitialized).
The C-function calloc is required to fill the newly allocated memory with
zero bit pattern; malloc is not required to initialize anything. Fresh heap
areas given by malloc may have zero bit pattern, but one should really make
no assumptions on this.
--
Jouko