Structures, Unions, Enums - Programming

Q1:

What will be the output of the program in 16-bit platform (under DOS)?
#include<stdio.h>

int main()
{
    struct node
    {
        int data;
        struct node *link;
    };
    struct node *p, *q;
    p = (struct node *) malloc(sizeof(struct node));
    q = (struct node *) malloc(sizeof(struct node));
    printf('%d, %d\n', sizeof(p), sizeof(q));
    return 0;
}

A 2, 2

B 8, 8

C 5, 5

D 4, 4

ANS:A - 2, 2

No answer description is available. Let's discuss.