작성한 질문수
홍정모의 따라하며 배우는 C언어
9.15 NULL 포인터와 런타임 에러
작성
·
223
0
#define CRTSECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int* safer_ptr1;
int a = 123;
if (a % 2 == 0)
safer_ptr1 = &a;
printf("%p", &safer_ptr1);
}
safer_ptr1에 대한 런타임 오류없이 리턴값으로 0이 출력되는데 제가 이상한걸까요?
답변 2
a가 스택에 남아있기 때문에 sfter_ptr1에서 런타임 에러가 발생할 이유가 없는 상황입니다.
이상한 것 아닙니다. :)
컴파일러의 기능일 수 있습니다.
강의에서 이야기하는 상황에 어떤 문제상황인지(포인터의 NULL 체크의 필요성)만
이해하고 넘어가셔도 무방하지 않을까 싶습니다.