When I run this program, output is 4 bytes. ( I use a 64 bit compiler)
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *b;
b=(int*)malloc(10*sizeof(int));
printf("%d",sizeof(b));
return 0;
}
But shouldn't the output be 40 bytes as I am dynamically allocating 40 bytes of space for 'b'?