C언어의 특징 및 장점
- 강력한 제어구조 : 하향식(Top-Down) 설계, 구조적 프로그래밍
- 효율성 : 프로그램의 크기가 작고 실행 속도가 빠름, 메모리를 가장 효율적으로 사용 가능
- 이식성 : C코드를 다른 시스템에 사용하고자 할 때 최소한의 수정으로 실행 가능
C 프로그래밍 과정에서 발생하는 오류의 종류
- Warning : 코드 내의 문법이나 데이터 형의 사용 중 모호한 부분에 대한 경고
- Compile Error : C 문법을 잘못 사용할 때 발생하는 오류
- Link Error : 전역변수 정의 및 함수 선언 및 정의가 잘못 되어있는 경우 발생하는 오류 (보통 오타 주의 int main() -> int mian())
- Run Time Error : 프로그램 실행 도중 발생하는 오류 (주로 메모리를 관리 오류)
- Logic Error : 프로그램의 제어문이나 데이터 형의 잘못된 사용 등의 이유로 프로그램이 비정상저긴 결과로 수행되는 경우
C 기본 프로그래밍 뼈대 살펴보기
- 1 line : #include는 선행처리기 명령(Processor 지시자)이다. 이는 Preprocessor에 의해 처리되며 "stdio.h"라는 헤더파일을 위치에 포함시킨다.
- 3 line : 함수선언부를 선언해야 한다.
▷compiler에게 함수의 최소정보를 주어 함수 호출부에서 에러를 안나게 하기 위해서입니다.
- 8 line : 함수호출부
- 9 line : 0값을 갖고 제어를 되돌려 준다.
- 12 line : 함수정의부 (argument, parameter 변수명은 같게 설정해도 된다. number를 공유하는 관계가 아닌 새로 잡히는 공간이기 때문에)
배열의 특징
- 동일한 data형의 집합
- 연속된 Memory에 할당됨 (MMU : 물리적으로 떨어져 있는 주소를 논리적인 주소로 연결시켜주는 역할을 한다.)
- Index는 0번 부터 시작
- 배열명은 곧 그 배열의 시작주소 상수를 의미한다.
- 1 line : 선언과 동시에 초기화해야 가능하다!
- 5 line : 배열명은 배열의 시작 주소 상수이므로, 상수를 좌변에 쓸 수 없다.
프로그램 처리과정
- test.cpp : 프로그래머에 의해 작성된 원시파일
▷ preprocessor(전처리기) : 필요한 외부파일의 삽입, 상수 치환 등
- test.cpp' : 변형된 원시파일
▷ compiler : 전처리기에 의해 변형된 내용을 기계어로 번역
- a.obj : 목적파일(binary : 기계어 상태)
▷ linker : ① 프로그래머의 기계어 코드에 필요한 코드들을 삽입(Start_up code, Library Routine)
② 프로그램 내의 소스파일이 여러 개일 경우 Object 파일을 연결
- a.exe : 실행파일(binary : 기계어 상태)
※ 참고
- Start_up code : 각종 buffer 할당, 각종 Memory 해재, main() call
- 컴파일 : 소스코드를 실행코드로 변환 시킴 (Preprocessing) -> compiling -> linking의 과정을 걸쳐 실행 파일 생성.
기타
- RAM vs H/D(하드디스크)
RAM |
하드디스크 |
|
|
'C언어' 카테고리의 다른 글
[C언어] 구조체 (정리5) (0) | 2018.02.09 |
---|---|
[C언어] 포인터 (정리4) (0) | 2018.02.07 |
[C언어] 배열 (정리3) (0) | 2018.02.06 |
[C언어] 데이터형 (정리2) (0) | 2018.02.06 |
[C언어] Preview (정리1) (0) | 2018.02.02 |