Static arrays : The process of allocating memory at compile time is known as static memory allocation and the arrays that receives static memory allocation are called static arrays. This approach works fine as long as user know that what the data requirements are.
Dynamic arrays : The process of allocating memory at run time is known as dynamic memory allocation and the arrays that receives such kind of memory allocation are known as dynamic arrays.
Dynamic arrays are created using what are known as pointer variables and memory management functions malloc, calloc and realloc.