본문 바로가기
프로그래밍 언어/C

[C] C 언어 기본 구조

by Jinwood 2018. 2. 8.
반응형

C 프로그래밍의 작성 단계는 총 4가지로 구성되어 있다.


소스 코딩 >> 컴파일 >> 링크 >> 실행파일 생성


1. 소스 파일(source file) : C 언어로 코딩하여 프로그램을 작성한 파일 (확장자 : *.c)

C 언어의 문법에 맞게 소스 코드를 작성한다. 소스 파일의 확장자는 .c 이다.


2. 컴파일(compile) : 코딩이 완료된 문서를 컴퓨터가 이해하는 기계어로 번역하는 단계 (확장자 : *obj)

사람이 만든 소스 파일을 기계가 이해할 수 있는 기계어로 변환한다.


기계어란 기계가 이해하는 2진 숫자(0과 1)로 작성된 언어이다. 

프로그래머가 C 언어로 작성한 C 프로그램은 C 컴파일러가 기계어로 변환한다. 

변환된 기계어가 있어야 컴퓨터가 C 프로그램의 내용을 이해할 수 있다.


3. 링크(link) : 컴파일을 통해 기계어로 번역되어 만들어진 오브젝트 파일(.obj)을 

하나로 통합하여 실행 파일을 만드는 단계(확장자 : *exe)

4. 빌드(build) : 컴파일과 링크를 동시에 수행하는 과정


글로 보면 항상 어려운 것 같다. 그림은 조금 더 쉽다.





C 프로그램의 기본 구조


#include <stdio.h>

int main(void)
{
/*
 printf 내부에 적힌 사과를 출력하는 프로그램.
*/
 printf("사과");
 
 return 0;
}


기본 구조에 대한 설명


 내용

 설명

 #include


 전처리기(Preprocessor)라 하며, ~을 포함한다는 뜻. 컴파일러가 컴파일을 수행하기 전에 먼저 처리하라는 의미. 

 특수문자 #이 삽입되어 있으면 전처리기를 의미한다.


 <stdio.h>


 입력/출력(입출력)을 위한 헤더 파일.(헤더 파일 : 필요한 함수를 사용하기 위해 포함시키는 파일)

 *.h 확장자로 된 파일을 헤더 파일이라 부른다.

 Visual C++일 경우 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include 에 헤더 파일들 존재.


 #include <stdio.h>는 stdio.h 헤더 파일을 불러오라는 의미이다.


 참고: 

 stdio는 standard input output의 줄임말과 같다.

 <stdio.h> 처럼 <> 기호를 이용하여 불러오는 헤더 파일은 시스템 헤더 파일이라 부른다.

 "userownheader.h" 처럼 큰 따옴표를 이용하여 불러오는 헤더 파일은 사용자 헤더 파일이라 부른다.

 

 main()


 main() 함수는 프로그램이 실행될 때 가장 먼저 호출되는 함수이다. 이 함수는 운영체제가 호출한다.

 가장 먼저 시작하고, 가장 나중에 종료된다.

 함수를 만들 때에는 사용자가 직업 이름을 정할 수 있다.( Apple() 과 같이)


 <함수의 선언 형태>

 

 int main(void) 에서 int 부분 → 출력 형태, main 부분 → 함수 이름, (void) → 입력 형태를 의미한다.

 

    


 - void main(void) : 출력(return)하는 값이 없고, 입력 받는 값도 없다.

 - int main(void) : 출력하는 값의 자료형이 int(정수형)이고, 입력 받는 값은 없다.

 - void main(int) : 출력하는 값이 없고, 입력 받는 값의 자료형은 int(정수형)이다.


 <코드 작성 시 필수>


 1. 함수의 시작과 끝에 중괄호 { , } 를 작성한다.

 2. 문장의 끝에 항상 세미콜론( ; )을 기입한다


 /* ~ */ ,  //


 주석(Comment)이라 하며, 프로그램의 내용을 설명하기 위해 프로그래머가 적은 메모.

 주석은 프로그램의 실행에 영향을 미치지 않는다. C 컴파일러가 주석의 내용을 무시하고 소스 코드만 컴파일 한다.

 C, C#은 주석으로 /* ~ */ 또는 // 을 사용한다. 파이썬은 #을 사용한다.


 // 주석, 한 줄 단위로 주석을 처리하는 경우 사용된다.

 /*

    주석, 여러 줄을 주석 처리하는 경우 사용된다.

 */


 printf("사과");

 

 printf 는 <stdio.h> 헤더 파일 내부에 있는 표준 라이브러리 함수 중 하나이다.

 무언가를 출력할 때 사용하는 함수이며, 괄호 () 안에 출력하고자 하는 내용을 적으면 된다.

 printf("사과"); 는 [사과] 문자열을 모니터에 출력하도록 명령을 하는 구문이다.

 세미콜론은 필수.

 printf() 와 친구와 같은 함수는 scanf() 이다. printf()가 출력이라면 scanf()는 입력이다.


return 


 return은 반환과 종료의 의미를 갖는다.

 함수를 호출한 영역으로 값을 반환한다는 의미와, 함수를 종료한다는 의미를 가진다.


 위에서 작성된 return 0; 은 0을 반환하고 함수를 종료하라는 의미이다.

 return; 이 작성되었다면 반환할 것이 없으니 그냥 종료하라는 의미이다.






반응형

'프로그래밍 언어 > C' 카테고리의 다른 글

[C] C언어의 역사  (1) 2018.01.14

댓글