Can you release the memory of an array defined with static allocation?
In short... no.
Think of this memory as being "application scoped" and thus allocated/deallocated following the life-cycle of the application.
No, it is not possible to de-allocate statically allocated memory.
Depending on the language (for example C/C++, using pointers) you may be able to use the memory held by this array for other purposes, but doing so will only re-use the memory; memory won't be released per-se.
This said, this idea of reusing static memory for / with variables other than the variables originally defined there, is only suggested to help understand the nature of this type of allocation. In practical terms, and in particular as a novice, it makes absolutely no sense to have the need for such a feature:
- either the variable is expected to have a lifetime as long as the program
at which case it should be declared static - or the variable is not going to be needed at some time during program execution
at which case it should be dynamically allocated (? shortly after/during program initialization) and released whenever appropriate.
No, static allocation means it's automatically allocated at the start of the program, and lives for the entire duration of the program, and then is automatically released at termination.
no... its not possible but if you assign that array pointer to other pointer it will cause memory leak..
this is possible. static arrays are deallocated automatically before process finishes.