There is no such animal as a NULL integer in either C or C++ languages to indicate that the integer has no value. There are languages that have that concept, but not in C or C++. C compilers will often produce either warnings or errors if you try to assign NULL to an integer because NULL may be defined as (void *)0
which is a pointer.
As previously mentioned C and C++ compilers initialize global variableds to 0. Other variables are left uninitialized so your program has to initialize them.