Memory Allocation - Programming

Q1:

Point out the error in the following program.
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int *a[3];
    a = (int*) malloc(sizeof(int)*3);
    free(a);
    return 0;
}

A Error: unable to allocate memory

B Error: We cannot store address of allocated memory in a

C Error: unable to free memory

D No error

ANS:A - Error: unable to allocate memory

We should store the address in a[i]