#include<stdio.h>
#include<stdlib.h>
int main (int argc, char *argv[]) {
    int* arr1 = (int*)malloc(sizeof(int)*4);
    int arr2[4];
    printf("%d \n", sizeof(arr1));
    printf("%d \n", sizeof(arr2));
    free(arr1);
    return 0;
}
Output
8
16
Why?
 
     
    