What is the default state of variables?
c, initialization, memory
Solution
Since you specifically mention global variables: In the case of global variables, whether they are declared `static` or not, they will be initialised to 0.
Local variables on the other hand will be undefined (unless they are declared `static`, in which case they too will be initialised to 0 -- thanks Tyler McHenry). Translated, that means that you can't rely on them containing any particular thing -- they will just contain whatever random garbage was already in memory at that location, which could be different from run to run.
Problem
When a C program starts and variables are assigned to memory locations, does the C standard say if that value is initialized? ``` // global variables int a; int b = 0; static int c; ``` In the above code, 'b' will be initialized to 0. What is the initial value of 'a'? Is 'c' any different since it is static to this module?