C 언어 - 산술 오버플로(Overflow) 발생시키기
산술 오버플로(Overflow)에 대한 소개 영상입니다.
강의
코드: integer_overflow.c
int 형식이 담을 수 있는 범위를 벗어나는 데이터로 초기화되면 오버플로에 의해서 잘못된 데이터가 담깁니다. 그래서 프로그래밍할 때에는 데이터 타입의 범위를 확인하면서 코드를 작성해야 합니다.
// integer_overflow.c
#include <stdio.h>
// limits.h 헤더 파일의 INT_MAX, INT_MIN으로 정수 형식의 최댓값, 최솟값 알 수 있음
// #include <limits.h>
int main(void)
{
// int 형식의 범위: -2147483648 ~ +2147483647
// 담을 수 있는 범위를 벗어남: 오버플로(넘침) 발생
int num = (2147483647 + 2147483647); // INT_MAX + INT_MAX
printf("%d\n", num); // 잘못된 데이터 값 출력
return 0;
}
실행
-2
실행 결과는 잘못된 데이터입니다.