인프런 커뮤니티 질문&답변

yj B님의 프로필 이미지
yj B

작성한 질문수

홍정모의 따라하며 배우는 C언어

9.15 NULL 포인터와 런타임 에러

질문입니다~

작성

·

158

0

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

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

답변 1

0

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

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

yj B님의 프로필 이미지
yj B

작성한 질문수

질문하기