• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

런타임에러가 뜨지않습니다.

22.12.18 21:22 작성 조회수 143

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

·

답변을 작성해보세요.

0

a가 스택에 남아있기 때문에 sfter_ptr1에서 런타임 에러가 발생할 이유가 없는 상황입니다.

이상한 것 아닙니다. :)

0

강민철님의 프로필

강민철

2022.12.20

컴파일러의 기능일 수 있습니다.

강의에서 이야기하는 상황에 어떤 문제상황인지(포인터의 NULL 체크의 필요성)만

이해하고 넘어가셔도 무방하지 않을까 싶습니다.