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