static int i=10; // Will stay in existence as long a the program is running. // Its' memory location is not freed when the file goes out of scope. // Statics can have new values assigned to them after they are instantiated. // This also holds for the static int 'j' in the 'new' function. // 'const static int k =666;' const variable can not be modified thier // memory locations are locked out. /* const static int q = 666; q +=2; // This will cause errors on compiling, the compiler will see the attemp to wright // to a const declaration and throw errors. Compiling... StorageClasses_4a.c C:\Practice Programs\Puzzle Feuer\Storage Classes\StorageClasses_4a.c(9) : error C2143: syntax error : missing '{' before '+=' C:\Practice Programs\Puzzle Feuer\Storage Classes\StorageClasses_4a.c(9) : error C2059: syntax error : '+=' Error executing cl.exe. StorageClasses_4a.obj - 2 error(s), 0 warning(s) */ next(void) { return( i+=1 ); } last(void) { return( i-=1 ); } new(int i) // This is 'main's 'i' { static int j=5; return( i=j+=i ); }