#include <stdio.h>
int main(void)
{
char *p="korea";
char k='a';
printf("%s\n%c",p,k);
printf("\n%p === %p",p,k);
return 0;
}
이렇게했습니다
결과는
korea
a
0056 === 0061
-------------------------------------
질문입니다.
일단 char *p="korea"; 이렇게했습니다.
그렇담 메모리에선 6바이트를잡고(널문자포함) p에겐 첫번째주소를 넘겨주는것입니까?
그렇게되면 결과값엔 두번째 포인터주소는 "0062"가나와야정상인데 "0061"이 나와버립니다.
아시는분 답변부탁드리겠습니다.
그럼좋은하루 되세요
ps. 혹시나해서 printf("\n%d === %d",&p,&k); 이렇게도 해봤는데...
8646 === 8645 이렇게 나와버리더군요...
|