책 설명에서char *pc=(char *)100; int *pi=(int *)100; 이런 부분이 나왔는데 이렇게 되면 pc가 가리키는 주소도 100이고 pi가 가리키는 주소도 100인데 같은 주소가 두가지 형을 가질 수는 없지않음? 아니면 형이 다르면 같이 존재할 수 있는건가?
댓글 8
메모리 주소는 딱 하나 존재하는거고 그걸 가리키는 포인터가 두개 있을수는 있지
지도(iopell2007)2021-05-05 00:22
답글
그러면 아직 주소에 값이 없어서 괜찮은 건가요?
익명(39.7)2021-05-05 00:24
답글
메모리에 값을 넣든 말든 상관없는거임 물리적인 메모리 주소는 유일하고 그 하나의 물리적 주소를 가리킬 수 있는 포인터는 몇개가 있든 상관없지
지도(iopell2007)2021-05-05 00:29
답글
죄송한데 그러면 포인터가 가르키는건 자윤데 나중에 *pi처럼 값을 끌어와서 쓸때는 오류가 발생할 수도 있나요?
익명(175.223)2021-05-05 00:38
답글
쓰는 사람이 잘만쓰면 오류가 나지는 않는데 그런 방식이 권장되지는 않아요
지도(iopell2007)2021-05-05 00:43
답글
늦은 밤에 답해주셔서 감사합니다 ㅠ
공휴일 잘보내세요@_@
익명(110.70)2021-05-05 00:47
답글
지도(iopell2007)2021-05-05 00:49
의도적으로 저렇게(같은 메모리 영역을 여러 타입으로) 활용하고 싶은 경우 보통 union을 씀.
메모리 주소는 딱 하나 존재하는거고 그걸 가리키는 포인터가 두개 있을수는 있지
그러면 아직 주소에 값이 없어서 괜찮은 건가요?
메모리에 값을 넣든 말든 상관없는거임 물리적인 메모리 주소는 유일하고 그 하나의 물리적 주소를 가리킬 수 있는 포인터는 몇개가 있든 상관없지
죄송한데 그러면 포인터가 가르키는건 자윤데 나중에 *pi처럼 값을 끌어와서 쓸때는 오류가 발생할 수도 있나요?
쓰는 사람이 잘만쓰면 오류가 나지는 않는데 그런 방식이 권장되지는 않아요
늦은 밤에 답해주셔서 감사합니다 ㅠ 공휴일 잘보내세요@_@
의도적으로 저렇게(같은 메모리 영역을 여러 타입으로) 활용하고 싶은 경우 보통 union을 씀.