핵심 정리

변수 선언하기

변수는 자료형 변수이름 형식으로 선언합니다. 변수 여러 개를 한 번에 선언할 때는 자료형 변수1, 변수2, 변수3;과 같이 변수를 콤마로 구분해줍니다.

int num1;
float num2;

int num3, num4, num5;

변수를 선언하고 값 저장하기

변수에 값을 할당(저장)할 때는 변수 = 값; 형식으로 사용합니다.

int num1;
num1 = 10;    // 변수에 10 할당(저장)

변수를 선언하면서 초기화하기

변수를 선언하면서 초기화할 때는 자료형 변수 = 값; 형식으로 사용합니다. 변수 여러 개를 선언하면서 초기화할 때는 자료형 변수1 = 값1, 변수2 = 값2;와 같이 변수와 값 할당을 콤마로 구분해줍니다.

int num1 = 10;               // 변수를 선언하면서 값 할당(초기화)
int num2 = 20, num3 = 30;    // 변수 여러 개를 선언하면서 값 할당(초기화)

자료형 크기 구하기

자료형이나 변수의 자료형 크기를 구할 때는 sizeof 연산자를 사용합니다.

sizeof(int);     // 자료형 자체의 크기 구할 때는 반드시 ( )를 지정
int num1;
sizeof(num1);    // ( )를 지정하는 방법
sizeof num1;     // ( ) 없이 표현식으로 지정하는 방법

정수 자료형의 오버플로우와 언더플로우

  • 부호 있는 정수: 오버플로우가 발생하면 최솟값(음수)부터 다시 시작, 언더플로우가 발생하면 최댓값(양수)부터 점점 작아집니다.
  • 부호 없는 정수: 오버플로우가 발생하면 0부터 다시 시작, 언더플로우가 발생하면 최댓값부터 점점 작아집니다.

limits.h에 정의된 정수 자료형의 최솟값과 최댓값

limits.h 헤더 파일에는 정수 자료형의 최솟값과 최댓값이 정의되어 있습니다.

정수 자료형의 최솟값과 최댓값
자료형 최솟값 최댓값
char CHAR_MIN CHAR_MAX
short SHRT_MIN SHRT_MAX
int INT_MIN INT_MAX
long LONG_MIN LONG_MAX
long long LLONG_MIN LLONG_MAX
unsigned char 0 UCHAR_MAX
unsigned short 0 USHRT_MAX
unsigned int 0 UINT_MAX
unsigned long 0 ULONG_MAX
unsigned long long 0 ULLONG_MAX

stdint.h에 정의된 정수 자료형의 최솟값과 최댓값

stdint.h 헤더 파일에는 크기가 표시된 정수 자료형의 최솟값과 최댓값이 정의되어 있습니다.

크기가 표시된 정수 자료형의 최솟값과 최댓값
자료형 최솟값 최댓값
int8_t INT8_MIN INT8_MAX
int16_t INT16_MIN INT16_MAX
int32_t INT32_MIN INT32_MAX
int64_t INT64_MIN INT64_MAX
uint8_t 0 UINT8_MAX
uint16_t 0 UINT16_MAX
uint32_t 0 UINT32_MAX
uint64_t 0 UINT64_MAX

지수 표기법

지수 표기법(과학적 표기법)은 정수 부분은 한 자릿수만 적고, 소수 자릿수 뒤에 e와 지수를 표기합니다.

  • 2.1e+3: 2100
  • 2.1e-2: 0.021

지수 표기법과 부동소수점

지수 표기법은 실수를 소스 코드에 표기하거나 화면에 출력하는 방법이며 부동소수점 방식은 실수를 메모리 또는 디스크에 저장하는 방식입니다.

실수 자료형의 오버플로우와 언더플로우

실수 자료형은 오버플로우가 발생하면 inf(무한대)가 되며 언더플로우가 발생하면 0이 됩니다.

float.h에 정의된 최솟값과 최댓값

float.h 헤더 파일에는 실수 자료형의 최솟값과 최댓값이 정의되어 있습니다.

실수 자료형의 최솟값과 최댓값
자료형 크기 범위
float FLT_MIN FLT_MAX
double DBL_MIN DBL_MAX
long double LDBL_MIN LDBL_MAX

숫자 서식 지정자

printf로 정수나 실수를 출력할 때는 다음과 같은 서식 지정자를 사용합니다.

숫자 서식 지정자
서식 지정자 설명
%d 부호 있는 정수
%ld 부호 있는 long 정수
%lld 부호 있는 long long 정수
%u 부호 없는 정수
%lu 부호 없는 long 정수
%llu 부호 없는 long long 정수
%f float, double형 실수
%Lf long double형 실수
%e float, double형 실수를 지수 표기법으로 출력
%Le long double형 실수를 지수 표기법으로 출력

버그

버그는 프로그램이 의도하지 않은 동작을 일으키는 것을 말합니다.

디버거

디버거는 프로그램의 내부 상황을 보여주는 도구이며 버그를 쉽게 찾을 수 있도록 도와줍니다.

중단점

중단점은 브레이크 포인트라고도 부르며 소스 코드의 특정 지점에서 프로그램을 멈추는데 사용합니다.

Visual Studio 디버거 사용하기

  • 중단점 삽입/삭제: 소스 코드 편집 창에서 마우스 오른쪽 버튼 클릭하고 중단점(B) > 중단점 삽입(R) 또는 F9
  • 디버깅 시작: 디버그(D) > 디버깅 시작(S) 또는 F5
  • 디버깅 중지: 디버그(D) > 디버깅 중지(E) 또는 Shift+F5
  • 프로시저 단위 실행: 디버그(D) > 프로시저 단위 실행(O) 또는 F10
  • 한 단계씩 코드 실행: 디버그(D) > 한 단계씩 코드 실행(I) 또는 F11