edit: exDM69 actually makes more sense.
gcc segfault.c
Now that I think about it, I'm not aware that gcc C compiler even offers the option to deliberately zero initialise non-static local variables, so unless I've missed a switch somewhere there is no arrangement of options available for a "debug build" to do this. I recall the GCC Fortran compiler did offer it.It's zero only because this occurs at the very beginning of the program. In general it would be undefined.
This is easily testable.
#include <stdio.h>
int main(void) {
char* pointers[20];
int i;
for (i = 0; i < 20; ++i) {
printf("%p\n", pointers[i]);
}
return 0;
}
And yes when I run it, most of the pointers are not null.It just happened to be zero in the author's case.