the following program gives output 4. I thought it will output 8 sizeof(int) + sizeof(unsigned int)
#include<stdio.h>
#include<stdlib.h>
int main()
{
struct node
{
int a;
struct node * next;
};
struct node * p= (struct node *) malloc( sizeof( struct node));
printf("%d", sizeof( p));
}