typedef struct eom{

 char a[50];
 int b;


}eom;

 


int main(){

 

 eom *str = NULL;
 str = (eom*)malloc(sizeof(eom));
 printf("이름을 입력해 \n");
 scanf("%s", &(*str).a);

 printf("%s\n", &(*str).a);
 printf("%d \n", sizeof(str));


 free(str);

 return 0;

}

 

 

 

저기저ㅣ 제가 굵게 표시한 부분요

 

출력되면 4가나오는데

 

 str = (eom*)malloc(sizeof(eom));
 이말은 구조체의 크기를 동적할당의 크기로 갖는다는거 아닌가요?

그럼 54가 나와야하는게아닌가요? 왜 포인터 할당크기인 4가나오는거죠??