• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문입니다~

21.07.15 01:49 작성 조회수 108

0

int *ptr=1234;는 ptr에 1234라는 주소를 선언하는것이고

에러가나는 이유는 이 주소에 할당받은 값이 없어서 에러가 발생하는것이 맞을까요?

답변 1

답변을 작성해보세요.

0

안소님의 프로필

안소

2021.07.15

1234 라는 주소를 선언한다기보단 ptr 이라는 포인터를 선언하는 것이구요! 그 값을 1234로 초기화해주는 식인 것입니다. 

1234 자체가 유의미한 메모리 주소가 아니다보니 이 1234 가 저장된 ptr 을 사용해서 주소를 참조하거나 하는 식의 시도를 한다면 에러가 발생할 것입니다. 1234 가 실제로 없는 주소라면 존재하지 않는 곳을 참조하려고 하는 것이기 때문에 에러가 발생할 것이고, 실제로 있는 주소라면 1234 주소에 뭐 아무값도 저장되어 있지 않는 상태이거나 개발자가 접근할 수 없는 영역의 주소라면 에러가 발생하겠네요!