교과서는
#include
int main(void) {
char ch;
char* p;
ch = 'A';
p = &ch;
printf("ch가 가지고 있는 값: ch ==> %c \n",ch);
printf("ch의 주소(address): &ch ==> %d \n", &ch);
printf("p가 가지고 있는 값 : p ==> %d \n", p);
printf("p가 가리키는 곳의 실제값 : *p ==> %c \n", *p);
return 0;
}
하면 교과서 대로 나와야 하는거 아님? 근데 주소값이랑 p가 가지고 있는 값이 이상하게 나와요 %d를 %p로도 해봣는데 이상하고
프린트 1번하고 4번하고 같고 2번하고 3번하고 같이나옴?
네
이거 %d말고 %p로 해야하나요?
그럼 맞는건데
0x7ff 이런식으로
%d로 하는게 맞는건가요?
%#x
%#x 요?
0xXXX처럼 출력하고 싶으면요 아래댓글처럼 주소는 실행할때 마다 달라요
감사합니다
윗댓글 말대로 1,4 2,3이 각각 같게 나오면 된 거임. 메모리 주소값은 실행 환경 따라 달라짐.
아 넵