int main(void) {
 char exp[] = "1+2*3";

 printf("%d", sizeof(exp));
 ConvToRPNExp(exp);

 return 0;
}


void ConvToRPNExp(char exp[]) {
 printf("%d", sizeof(exp));

}


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

두 프린트 값이 같은 6이 나와야하는데..

막상 컴파일해보면

메인문 printf("%d", sizeof(exp));는 6

함수의 printf("%d", sizeof(exp));는 4가 나옵니다.


sizeof에 배열의 주소가 들어가면 배열의 크기가 나와야하는데.. 왜이러는거죠?

printf("%p \n", exp)를 이용해서 받아보면 같은 주소가 나옵니다.

함수의 printf("%d", sizeof(exp));는 포인터 변수 크기가 나오는거 같은데.....