With reference to ur query,
malloc() is a pre-defined function which is available in <alloc.h>. We can also create memory without this function. But, whatever the program without this header file will occupies static memory allocation.For example, if you want to create the memory in dynamic memory allocation then go for malloc(),calloc(),realloc() functions. It is used to create the memory dynamically. It required one argument of type, type_size i.e., datatypesize.
It will create the memory in blocks format.
arr=(int)malloc(sizeof(int)15);//15 is to create number of elements.
calloc() is a pre-defined function which is available in <alloc.h>. It is used to create the memory dynamically. It required two arguments of type, type_size i.e., datatypesize and count (Number of elements to create).It will create the memory in bytes format.
It is a permanent memory until u deallocated the memory with the help of free() function.
U can also extend memory by using realloc() function.