C언어
-사람이 이해하기 쉬운 고급언어
-하드웨어를 제어할 수 있는 등 저급 언어의 특성을 띈다
-이식성이 뛰어남 ( 다양한 컴퓨터 기종에 큰 수정 없이 사용 가능함 )
-절차지향적인 특성을 띄어 결과에 대한 예측이 쉽고 프로그램의 크기가 작다 (순차적으로 진행되며 모든 구성요소가 유기적으로 연결됨)
C의 기본 구조
1. 프리프로세서 (전처리기)
컴파일러가 다른 코드들을 어셈블리어로 번역하기 전에 먼저 치환하는 문구들을 뜻한다. 전처리기는 코드 최상단에 '#'을 붙여서 표시한다. 선언문과는 다르게 ';' 를 붙이지 않는다.
#include는 다른 파일을 먼저 읽어서 번역하라는 뜻이다. 우리가 쓴 코드 앞부분에 다른 파일을 붙여넣고 컴파일 하는 것과 같다.
형식 : #include <파일명> 또는 #include "파일명"
c에서 코드를 작성할 때 쓰이는 #include <stdio.h> 에서 쓰이는 stdio.h 파일은 헤더파일 중 하나로, 표준 입출력 함수 등 C언어의 기본적인 함수를 미리 정의 해둔 것이다. 헤더파일은 보통 확장자가 .h이다.
2. 함수
C언어의 기본단위는 함수이다. 함수는 함수명, 입력(인자값), 구현부, 출력(반환값)이 존재할 수 있다.
형식 : 반환자료형 함수명 (자료형 매개변수1, 자료형 매개변수2, ...) { 구현부; return 값; }
int example(int a, int b) {
int c;
c= a+b;
return c;
}
3. main() 함수
모든 C 프로그램은 main() 함수가 단 하나, 반드시 존재해야 한다.
C 프로그램은 main() 함수를 통해 절차지향적으로 프로그램이 실행되기 때문이다.
4. 블록
블록은 영역을 나타낸다. '{' 로 시작되어 '}'로 표시하며 블록 안에는 여러 문장이 포함되고, 문장은 생략될 수 있다.
5. 선언문
선언문은 뒤에 세미콜론(';')을 붙여 구분한다. 만약 문장 뒤에 세미콜론이 없다면 컴파일 에러가 발생한다.
한편, C언어는 문장 내에서 사용되는 유의미한 토큰들 사이에서 대소문자를 구별한다. (즉, printf != Prinf)
6. 주석
주석은 프로그래머가 내용을 좀 더 편하게 알기 위해 작성된 내용으로, 실제 프로그램의 실행에 영향을 끼치지 않는다.
한줄 주석(//) , 여러 줄 주석 (/* */) 이 존재한다.
printf("study about c language");
//한 줄 주석
/*
여
러
줄 주석
*/
C의 컴파일 과정
C언어는 컴파일러를 통해 컴파일되는 고급 언어이다.
사람이 작성한 소스코드는 전처리기,컴파일러,어셈블러,링커의 과정을 거쳐 컴파일되고, 실행파일이 생성된다.
- 전처리기: 주석 제거 및 define문 전처리
- 컴파일러: 소스코드를 어셈블리어로 이루어진 어셈블리 파일로 변환
- 어셈블러: 어셈블리 파일을 기계어로 이루어진 오브젝트 파일로 변환
- 링커: 오브젝트 파일들을 묶어서 실행파일 생성
'2학년 > C' 카테고리의 다른 글
[C]변수와 연산자(4) (0) | 2023.07.22 |
---|---|
[C]변수와 연산자(3) (0) | 2023.07.21 |
[C]변수와 연산자(2) (0) | 2023.07.20 |
[C] 변수와 연산자(1) (0) | 2023.07.19 |
[C] 입출력 (0) | 2023.07.18 |