#include<stdio.h>

#include<stdlib.h>


int main()

{

char * arr = (char*)malloc(20);

printf("%d", sizeof(arr));

free(arr);

return 0;

}




그냥 heap에 동적할당해서 그 메모리 전체 크기 알아보려고 짜본건데

왜 20바이트가 아니라 4바이트로 나오는거야? 난 20바이트를 예상했는데

배열의 이름이 배열의 전체 크기 알려주는거 아니야?


이거 원래 안되는거면, 이방법말고 heap에 할당한 메모리 크기 아는법 없어?