기타 강좌

2 - 1 프로그램의 구조

다음 장부터 본격적으로 C 문법 공부를 시작하게 될 것이다. 그 전에 C문법의 기본적인 특징과 구조에 대해 미리 숙지하도록 하자. 이미 다 알고 있는 내용인지 모르겠지만 본격적인 실습에 들어가기 전에 C의 특징에 대해 간략하게 정리해 보았다.

 

 C언어는 대소문자를 구분하므로 키워드나 명칭 등을 작성할 때 대소문자 구분에 유의해야 한다. 변수를 선언할 때는 Score로 선언해 놓고 쓸 때는 score로 쓰면 이 변수는 선언되지 않은 것으로 취급된다. 또한 main을 Main으로 써도 안되며 예약어들도 대소문자에 맞게 써야 한다. INT num; 이라고 쓰면 안된다. C의 예약어들은 모두 소문자이고 변수나 함수명도 대부분 소문자로 작성하므로 가급적이면 소문자만 쓰는 것이 좋다. 책의 소스를 직접 입력할 때도 소스에 적힌대로 정확하게 입력해야 한다.

 C 프로그램은 항상 main 함수로 시작한다. C는 함수 위주의 언어이며 필요한 함수를 자유롭게 만들어 쓸 수 있는데 함수 중에 반드시 있어야 하는 함수가 바로 main 함수이다. main은 프로그램의 시작점이 되며 이름이 고정되어 있다. 컴파일러는 main에서부터 실행을 시작한다.

 모든 문장은 세미콜론으로 끝이 나는데 세미콜론은 자연어의 마침표에 해당한다. 컴파일러는 세미콜론을 기준으로 어디서 어디까지가 한 문장인지를 구분하므로 모든 명령 끝에 반드시 세미콜론을 달아 주도록 하자.

 C언어는 프리포맷(Free Format)을 지원한다. 문법에만 맞으면 한줄에 붙여 쓸 수도 있고 여러 줄에 나누어 쓸 수도 있다. 조금 여백을 주기 위해 괜히 한 줄을 비워 둘 수도 있으며 들여쓰기나 공백의 개수도 편한대로 작성할 수 있다. First 예제를 다음과 같이 수정해도 제대로 컴파일된다.

 

#include <stdio.h>

void main() {printf("korean");}

 

단 두 줄에 다 붙여 써도 상관없다. 또는 다음과 같이 한 명령을 여러 줄에 나누어 써도 전혀 상관없다.

 

#include <stdio.h>

void

main() {

              printf(

          "korean")

          ;}

 

물론 이렇게 소스를 작성하면 별로 보기에 좋지 않으므로 가급적이면 구조를 한눈에 파악할 수 있도록 빈줄과 공백을 적당히 끼워 넣고 들여 쓰기를 하는 것이 좋다. C 언어가 소스의 형식에 별 제한을 두지 않기 때문에 소스는 개성에 따라 자유롭게 작성할 수 있다. 이에 비해 베이직같은 언어는 프리포맷을 지원하지 않기 때문에 다소 불편하다.

 C 프로그램의 구조는 대체로(절대적이지는 않다) 다음과 같다.

 

#include <...>

#define ...

함수의 원형

전역변수

 

void main()

{

     코드

}

함수

함수

함수

 

프로그램 선두에 #include, #define 같은 전처리문이 오고 이어서 함수 원형, 전역변수 선언이 온다. 그리고 프로그램의 본체인 main 함수와 그 외 필요한 함수들이 이어진다. 물론 꼭 이 구조대로 작성해야 한다는 강제가 있는 것은 아니지만 대부분의 C 소스는 이런 구조로 되어 있다.

 


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 912
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 798
기타 바이러스 제작 모험기 : 상편.shutdown명령어! 4 file 창조자 신 2009.05.16 3779
웹디자인 관련 버튼 psd 템플릿사이트 모음 아방스 2011.12.07 2022
기타 번외 2편 : 게임 엔진 서론 1 코르뉴 2011.06.17 2780
Vegas Pro 베가스 8 - 분할 / 자르기 / fade in/ out 아방스 2008.06.08 6228
Vegas Pro 베가스 8 - 사진의 장면 전화 효과 크로스 페이드 2 아방스 2008.06.07 4870
Vegas Pro 베가스 8 - 사진의 크기를 동영상에 크기에 맞추기 아방스 2008.06.07 5198
Vegas Pro 베가스 8 - 자막 삽입하기 아방스 2008.06.08 4918
Vegas Pro 베가스 영화 비율 영상으로 만들기 (레터박스) 아방스 2016.12.19 718
Vegas Pro 베가스8 - 동영상 또는 사진을 가지고 오기 1 아방스 2008.06.07 4098
에프터 이펙트 붓 칠해지는 느낌의 자막 1 file 아방스 2011.02.27 3341
기타 비밀번호를 제작해볼까?? 8 file 아방이 2008.01.21 2919
C언어 사각형 테두리 그리기를 연습해봐요 3 file 정체불명 2012.01.21 5704
기타 색바꾸기 강좌 4 제니스 2008.06.24 3014
C언어 소코반 따라만들기 준비 파일읽어배열에담기 정체불명 2012.01.21 2992
C언어 소코반 따라하기 준비 1 파일에서 읽어와서 출력 정체불명 2012.01.21 2860
C언어 소코반 리팩토링 푸쉬푸쉬 file 정체불명 2012.01.25 2575
C언어 소코반 실행파일+소스+스크린샷 file 정체불명 2012.01.25 3526
C언어 소코반(푸쉬푸쉬) 구조 정체불명 2012.01.21 2868
어플개발 소프트아이스크림의 SRPG 만들기 - 4장 기본 문법과 배열 ! file 소프트아이스크림 2016.07.18 234
어플개발 소프트아이스크림의 SRPG 만들기 - 5장 게임 구성 및 잡담 + 배경 만들기 file 소프트아이스크림 2016.07.31 240
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19