전처리기
전처리기
C언어에서 전처리는 사용자가 작성한 코드를 컴파일러가 컴파일하기 전에 먼저 처리하는 것을 의미합니다. 사용자가 작성한 소스 코드를 컴파일 하기 전에 전처리를 수행하는 프로그램을 전처리기라고 합니다. 코드작성부터 실행을 하기 까지 전처리는 언제 처리가 되는 것일까요?
다음과 같은 과정으로 전처리는 실행이 됩니다. 간단하게 다시 말하자면 전처리는 컴파일을 하기 직전에 소스코드에서 먼저 처리를 하면 작업이라고 생각하면 됩니다. 그 전처리를 하는 프로그램을 전처리기라고 하고 #문자를 포함하는 전처리기 지시자를 통해서 수행이 됩니다.
■ 전치리기 지시자
이전 페이지에서 #include <stdio.h>를 사용하는 것을 확인했을 것입니다. 여기서 #include에 해당하는 것이 전치리기 지시자입니다. #include같은 경우 헤더 파일을 include 하는 기능을 가지는 것을 의미합니다. 보통 일반적으로 전처리기 지시자는 # 문자로 시작을 하고 세미콜론 ( ; )을 사용하지 않습니다. 여러 전처리기 지시자와 기능은 아래 표와 같습니다.
전처리기 지시자 | 설명 |
#include | 헤더 파일을 include 하는 기능 |
#define | 매크로를 정의하는 기능 |
#undef | 이미 정의된 매크로를 해제하는 기능 |
#if, #elif, #else, #endif | 조건에 따라 컴파일 하는 기능 |
#ifdef | 매크로가 정의된 경우에 컴파일하는 기능 |
#ifndef | 매크로가 정의되지 않는 경우 컴파일 하는 기능 |
■ 헤더 파일
확장자 'h'를 갖는 파일로 C 프로그램이 제공하는 표준 라이브러리 함수들의 목록들의 파일입니다. 따라서 헤더 파일을 잘 사용할 수록 잘 정의된 라이브러리 함수들을 쉽게 호출해서 쓸 수 있습니다. 표준 입출력과 관련된 헤더 파일은 'stdio.h' 파일 입니다.
전처리기지시자 헤더파일명 | #include <stdio.h>
■ 매크로
앞서 사용을 한번 했던 #define 전처리 문장을 매크로라고 합니다. 매크로 상수라고도 하는 이 지시자의 구문을 다음과 같습니다.
#define 함수이름 치환값 | #define PI 3.14
표준입출력 함수
■ 표준 출력 함수
지금까지 많이 봐왔던 함수 중에 하나입니다. 바로 printf() 함수로서 사용자가 지정하는 형식에 맞추어 화면에 데이터를 출력하는 함수입니다. 형식 지정자를 통해서 다양한 값들을 출력을 할 수 있고, printf() 함수에 관한 헤더 파일은 stdio.h 입니다.
printf() 사용 형식 | printf("형식 지정자,...",인수1,...);
형식 지정자 같은 경우에는 인수의 데이터 형식과 같은 형태를 지정해주어야 합니다. 형식지정자의 자료형을 맞추어주지 않으면 오류가 발생합니다.
형식지정자
형식지정자 | 설명 |
%d | 10진 정수 형식 출력 |
%o | 8진 정수 형식 출력 |
%x, %X | 16진 정수 형식 출력 |
%u | 부호 없는 정수 형식 출력 |
%p | 메모리 주소 형식 출력 |
%f | 실수 형식 출력 |
%e, %E | 지수 표현식 형식 출력 |
%g, %G | 부동 소수점 수를 간략한 형식으로 출력 |
%c | 문자 출력 |
%s | 문자열 출력 |
%% | % 출력 |
■ 표준 입력 함수
표준 입력 함수인 scanf()는 키보드로부터 문자나 정수 실수 문자열을 입력받아 변수에 저장하는 함수입니다. 어떠한 변수값을 할당 받기 위해서 사용자가 값을 입력해야 하는 경우에 사용하는 함수입니다. scanf() 함수에는 중요한 특징이 있는데 사용할 변수 이름 앞에 반드시 &를 붙여줘야 합니다. &뒤 지정된 변수에 사용자가 입력한 값이 데이터가 저장이 되기 때문에 반드시 붙여줘야합니다.
scanf() 사용 형식 | scanf("형식지정자",&변수명);
형식지정자
형식지정자 | 설명 |
%d | 10진 정수 입력 |
%o | 8진 정수 입력 |
%x, %X | 16진 정수 입력 |
%f | float형 실수 입력 |
%lf | double형 실수 입력 |
%c | 한 개의 문자 입력 |
%s | 문자열 입력 |
%u | 10진 정수 입력 |
%e | floate형 e 표기법에 의한 실수 입력 |
%le | double형 e 표기법에 의한 실수 입력 |
'컴퓨터 프로그래밍 > c 언어 (c programming language)' 카테고리의 다른 글
C 언어 - 반복문(Loop) (0) | 2020.09.26 |
---|---|
C 언어 - 조건문 (0) | 2020.09.26 |
C 언어 - 연산자(operator) (0) | 2020.09.26 |
C 언어 - 변수와 자료형 (0) | 2020.09.26 |
C 언어 기초 (0) | 2020.09.26 |
댓글