yes array follows static memory allocation means the size equal to the size of array is statically allocated in the memory before accessing it. Uninitialized array gives garbage value at runtime because it follows the local variable concept when we declare array inside the function.when static specifier is used for array or array is declare outside the function then it will give 0 at run time(partially initialized array).