[prog] [C] strings bug
Robert J. Hansen
rjh at sixdemonbag.org
Thu Apr 10 10:53:49 EST 2003
> Well, I have less exalted sources to refer to, but I remember being taught
> that with C++, unlike C, uninitialised variables were initialised to zero
C is the same way:
=====
#include <stdio.h>
int x;
int main(int argc, char *argv[])
{
printf("Value of x = %d\n", x);
return 0;
}
=====
[rjh at numbers fishtank2]$ gcc test.c -o t -Wall -W -ansi -pedantic
test.c: In function `main':
test.c:5: warning: unused parameter `argc'
test.c:5: warning: unused parameter `argv'
[rjh at numbers fishtank2]$ ./t
... Putting GCC into its strictest ANSI conformance mode, with maximum
warnings, gives warnings about unused parameters but not about using
global variables which haven't been explicitly initialized.
I've seen quite a bit of real-world C code (telephone switching
software, PGP 6.x/7.x, etc.) which have used implicit variable
initialization--regardless of whether it's good form or not (I agree
that it's bad form), it's in widespread enough usage that C programmers
ought to know it exists. :)
--
Robert J. Hansen <rjh at sixdemonbag.org>
More information about the Programming
mailing list