C 프로그래밍의 기본을 알아보자
업데이트:
C 프로그래밍은 텍스트 편집기나 컴파일러에서 제공하는 편집기에서 C 프로그램을 작성하는 행위를 할한다.
C 프로그램은 C 언어를 이용해 원시 프로그램을 작성하고, 이 프로그램을 컴파일러를 사용해 컴퓨터에서 실행 할 수 있도록 번역한 후에 실행하는 구조이다.
원시 프로그램의 작성
원시 프로그램(Source Program) 작성은 일반적으로 코딩(Coding)이라고 하며 일반 텍스트 편집기나 컴파일러(Microsoft Visual Studio 등)에서 제공하는 편집기를 통해 이루어진다. 작성한 원시 프로그램은 .c 확장자를 갖는 파일(Source File)로 저장하게 된다.
원시 프로그램의 컴파일
작성한 원시 프로그램은 컴퓨터가 이해 할 수 있도록 컴파일러를 이용해 0과 1로 이루어진 기계어로 번역한다. 이 번역 된 프로그램은 목적 프로그램(Object Program) 이라고 한다.
목적 프로그램은 유닉스 운영체제에서는 .o 확장자로, 윈도우 운영체제 에서는 .obj 확장자로 저장된다. 이 파일은 목적 파일 (Object File)이라고 부른다.
링크와 실행파일
여러 개의 목적 프로그램 및 라이브러리 파일들을 묶어 하나의 실행 파일(Execution File)을 생성하는데, 이 과정을 링크(Link)라고 한다. 유닉스에서는 a.out 이라는 실행파일을, 윈도우에서는 .exe 확장자를 갖는 파일을 생성한다.
C 프로그램의 기본 구성
C 프로그램은 하나 이상의 함수로 이루어져 있어야 하며, main() 함수부터 순차적으로 실행하기 때문에 main()함수는 필수적으로 존재해야 한다. 함수의 기본 형태는 다음과 같다.
1
2
3
4
함수이름()
{
코드 내용
}
Hello World 출력
1
2
3
4
5
6
#include <stdio.h>
int main()
{
printf("Hello, World!");
return 0;
}
- stdio.h 파일을 포함시킨다.
- main() 함수 시작. int는 함수의 반환 값, main은 함수의 이름이다.
- 함수가 시작함을 나타내는 중괄호
- 문자열 “Hello, World!”를 출력한다.
- 함수가 int 값 0을 반환하도록 한다.
- 함수의 끝을 알리는 중괄호
실행 결과
Hello, World!
함수의 구성
위 코드는 main이라는 이름을 가진 하나의 함수로 이루어져 있다. C 프로그램에서 main() 함수는 필수적이며, 한 프로그램(편집기 기준 한 프로젝트)에 오직 하나만 존재해야 한다.
함수에서 중괄호 { }
는 함수의 시작과 끝을 나타내며, 이 중괄호 안에서 여러 문장들을 나열해 로직을 작성하는’코딩’을 하게 된다.
각 문장은 프로그램 실핼 시 수행하는 하나의 동작을 나타내며, 반드시 문장의 끝에 ;
기호를 붙여야 한다. 한 줄에 여러 개의 문장을 작성 해도 상관 없으며, 공백은 무시한다. ;
은 프로그램에게 각 문장을 구분하는 기호로 사용된다.
C 프로그램은 main()함수의 첫 문장 부터 마지막 문장까지 순차적으로 실행한다. main()함수의 모든 문장을 실행하고 나면 프로그램의 실행이 종료된다.
printf() 함수는 C언어 컴파일러가 제공하는 표준 라이브러리 함수(Standard Library Function)으로, 괄호 안 큰따옴표" "
사이에 있는 내용을 그대로 출력하는 역할을 한다. 이 때, 겹따옴표는 출력하지 않는다.
C 프로그램의 또 하나의 기본 구성 요소는 헤더 파일(Header FIle)이다. 헤더 파일은 표준 라이브러리 함수들에 대한 정보를 가지고 있다. 대표적으로 stdio.h
와 stdlib.h
가 있으며, 이 외에도 많은 헤더 파일을 제공한다.
위 코드의 1번 행의 #include <stdio.h>
는 stdio.h
헤더 파일을 해당 프로그램에 포함시킨다는 의미이다. 해당 헤더 파일은 printf()
와 scanf()
등 자료의 입출력에 관련된 표준 라이브러리 함수들에 대한 정보를 가지고 있다. #
으로 시작하는 것은 ‘선행처리기(Preprocessor)’를 의미한다.