- 1.2 C언어의 구성과 구성 요소
▶ C언어의 프로그램 구성
프로그램은 여러 함수 속의 각종 선언과 명령을 통해 작동하게 됩니다.
즉, 그 내부에는 올바르게 작동되기 위해 여러가지 규칙과 틀이 존재하게 되는데
이번 장에서는 그것에 대해 배워볼 겁니다.
/* 입출력 함수 헤더 파일 불러오기 */ #include <stdio> /* 메인 함수의 시작*/ int main(void){ // 처음 출력되는 함수 main, 반드시 정의되어야 된다. printf("hello world! \n"); // 출력 함수 printf return 0; }
지금 작성된 코드는 위 사진처럼 "hello world!"를 출력해주는 가장 기본적인 코드입니다.
코드가 위에서부터 순차적으로 진행되므로, 구성도 위에서부터 차례로 해보겠습니다.
#include <stdio.h>는 헤더 파일 stdio.h를 불러오겠다는 뜻 입니다.
( stdio.h는 가장 기본적인 헤더 파일로, Standard Input Output에 줄임말 입니다. )
헤더 파일에는 미리 정의해놓은 함수들과 명령어 등이 들어있습니다.
즉, 헤더 파일은 메인 함수보다 먼저 호출되야 합니다.
main 함수는 반드시 정의되어야 하는 가장 주 된 함수로, 모든 명령과 작업은 이 안에서 진행되어야만 합니다.
int main(void){}
int : 출력형태 (output type, return type)
void : 입력형태 (input type)
main 함수 앞 뒤에서 프로그램의 전체적인 입출력형태를 지정하게 됩니다.
출력형태는 앞에, 입력형태는 소가로 안에 지정해주시면 됩니다.
main 함수에 대한 것은, 일단은 이것만으로 충분하니 자세한 내용은 뒤에서 또 다루기로 합시다.
그리고, main 함수 중가로 안에는 'printf', 'return' 과 같은 함수들이 들어있고,
그것들이 끝날 때는 항상 세미콜론(' ; ')을 붙여서, 마무리를 지어줘야 합니다.
실질적인 프로그램의 조작은 이곳에서 되어집니다.
그리고 중가로를 닫으면 프로그램 구성이 끝납니다.
▶ C언어의 구성 요소
1. 식별자(identifier)
식별자란 변수명, 함수명, 배열명 등에 부여하는 이름을 말합니다.
그냥 마음대로 정할 수는 없고, 규칙이 따로 정해져 있습니다.
- 키워드와 같은 명칭으로는 식별자로 사용할 수 없습니다.
- 영문자, 숫자, 언더바( _ ) 등으로 구성되며, 32글자 이내로 가능합니다.
- 첫 글자가 숫자는 될 수 없습니다. (단, 언더바( _ )는 가능)
- 영문자의 대문자와 소문자는 서로 다른 문자로 인식합니다.
2. 키워드(keyword)
키워드는 미리 정의되어 있는 명령어로, 예약어라고도 합니다.
C 언어에서 정해져있는 것 외에 다른 목적으로는 사용할 수 없습니다.
- auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, of, int, long, register, return, short, signed, sizeof, staric, struct, switch, typedef, union, unsigned, void, volatile, while
3. 주석(comments)
주석은 설명을 위해 삽입하는 것으로,
컴파일러가 컴파일 할 때 프로그램 실행과는 무관한 것으로 판단합니다.
기본적으로 주석은 "/*"와 "*/" 사이에 나타내고,
한 문장을 주석으로 처리하기 위해서는 간단히 "//" 기호를 사용합니다.
( 위에서 작성된 코드에도 주석이 포함되어 있습니다. )
4. 연산자(operators)
말그대로 연산시키기 위해 사용되는 기호들 입니다.
- 산술연산자 : *, /, +, -, %
- 관계연산자 : >, <, >=, <=, ==, !=
- 논리연산자 : &&(AND), ||(OR)
- 증가/감소연산자 : ++, --
- 비트연산자 : &, |, !, ^, <<, >>
5. 헤더 파일(header file)
표준함수나 미리 정의된 예약어를 이용하기 위해서는
헤더파일을 “#include” 문을 이용하여 포함시켜야 됩니다.
여러번 사용되는 함수를, 함수 하나로 통합하여 새로운 헤더파일에 정의할 수도 있습니다.