Lets say I have something like...
void foo()
{
char c[100];
printf("this function does nothing useful");
}
When foo is called, it creates the array on the stack, and when it goes out of scope, is the memory deallocated automatically? Or is c destroyed, but the memory remains allocated, with no way to access it/get it back except restarting the computer?