What is static memory allocation and dynamic memory allocation?
Answer:
-The compiler allocates the required memory space for a declared variable.
By using the address of a operator, the reserved address is obtained and this
address may be assigned to a pointer variable. Since, most of the declared variable
has static memory, this way of assigning pointer value to a pointer variable is
known as static memory allocation. Memory is assigned during compilation time.
-Dynamic memory allocation: it uses functions such as malloc() or calloc()
to get memory dynamically. If these functions are used to get memory dynamically
and the values returned by these functions are assigned to pointer variables,
such assignments are known as dynamic memory allocation. Memory is assigned during run time.