-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
질문입니다~
21.07.15 01:49 작성 조회수 108
0
int *ptr=1234;는 ptr에 1234라는 주소를 선언하는것이고
에러가나는 이유는 이 주소에 할당받은 값이 없어서 에러가 발생하는것이 맞을까요?
답변을 작성해보세요.
0
안소
2021.07.15
1234 라는 주소를 선언한다기보단 ptr 이라는 포인터를 선언하는 것이구요! 그 값을 1234로 초기화해주는 식인 것입니다.
1234 자체가 유의미한 메모리 주소가 아니다보니 이 1234 가 저장된 ptr 을 사용해서 주소를 참조하거나 하는 식의 시도를 한다면 에러가 발생할 것입니다. 1234 가 실제로 없는 주소라면 존재하지 않는 곳을 참조하려고 하는 것이기 때문에 에러가 발생할 것이고, 실제로 있는 주소라면 1234 주소에 뭐 아무값도 저장되어 있지 않는 상태이거나 개발자가 접근할 수 없는 영역의 주소라면 에러가 발생하겠네요!
답변 1