Memory Allocation - Programming

Q1:

Assume integer is 2 bytes wide. How many bytes will be allocated for the following code?
#include<stdio.h>
#include<stdlib.h>
#define MAXROW 3
#define MAXCOL 4

int main()
{
    int (*p)[MAXCOL];
    p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
    return 0;
}

A 56 bytes

B 128 bytes

C 24 bytes

D 12 bytes

ANS:A - 56 bytes

No answer description is available. Let's discuss.