void main(void)
{
char ch[] = "012345678";
printf("%d %d \n", sizeof(ch), sizeof(ch+3));
}
---------------------------------
sizeof를 통해서 문자열의 크기를 알아내는 내용입니다.
sizeof(ch)는 NULL을 포함한 문자열의 크기가 인정되어서 예상한대로 10이 출력 됩니다.
그리고 sizeof(ch+3)은 345678의 6개 문자에 NULL문자가 포함되어서
7이 출력될것이라고 예상했습니다.
하지만 4가 출력되네요... 아무래도 포인터의 크기를 출력한듯합니다.
그냥 하나의 예로 외운후에 넘어가도 되지만 궁금하네요
왜 문자열의 시작주소를 sizeof로 넘길때와
중간주소를 넘길때에
sizeof는 해석방법을 달리하는걸까요??