C Programming Language, C Language   C 언어, C 프로그래밍 언어

(2016-12-12)
정보기술(IT) 1. 정보기술

전산기초
컴퓨터구조
프로그래밍
데이터베이스
소프트웨어 공학
운영체제
정보보호/보안
IT 기타기술
 > 프로그래밍프로그래밍 언어론
객체지향
자료구조
알고리즘
자료표현(알파벳/코드)
시스템 프로그래밍
프로그래밍언어 종류
프로그래밍 기타일반
 > 프로그래밍언어 종류 1. 프로그래밍 언어
2. 기계어,어셈블리언어

C/C++
자바(Java)
자바스크립트
 > C/C++ 1. C 프로그래밍 언어
2. C 언어 구조체
3. C 연산자,C++ 연산자
4. C++ 언어
5. 포인터
6. 화일포인터
7. 라이브러리
8. 함수

     
1. C 프로그래밍 언어

  ㅇ 벨 연구소에서 1971년경부터 리치(D.M.Ritchie) 등에 의해 개발
  ㅇ 광범위한 지지기반을 가지게된 절차식 프로그래밍 언어UNIX 운영체제 대부분이 이 C 언어로 작성

  ※ C 언어의 기원 : ALGOL60 -> CPL -> BCPL -> B -> C  ( -> C++ )


2. C 언어 특징구조적 프로그래밍, 절차적 프로그래밍 언어
  ㅇ 효율적이고, 크기가 작고, 실행속도가 빠르며, 호환성이 좋음
  ㅇ 저수준 언어(어셈블리언어 등)의 효율성 및 하드웨어 접근성이 우수한 능력에다가
     고수준 언어의 일반성 및 이식성을 결합시킴
  ㅇ 많은 자료형과 풍부한 연산자를 가지고 있어 프로그램을 간결하게 작성할 수 있음


3. C 언어 표현 구성

  ㅇ C 언어의 예약어들
     - 기본 자료형 : int, char, float, double, void
        . 정수형           :  int, short int, long int, 
                              unsigned int, unsigned short int, unsigned long int
        . 실수형           :  float, double, long double
        . 문자형(문자열)   :  char, signed char, unsigned char
        . 열거형           :  enum
        . void형           :  void
        . 확장형           :  struct(구조체), union(공용체) 등
     - 제어문
        . 조건 분기 제어문 :  if, if ~ else, switch ~ case, goto
        . 반복 제어문      :  for, while, do ~ while
        . 기타 제어 관련   :  break, continue, return
     - 기억클래스 관련     :  auto, static, extern, register
     - 기타 예약어들       :  default, sizeof, typedef 등
        . 배열             :  [ ]
        . 포인터           :  *

  ㅇ C 언어에서 선행처리를 위한 선행처리 지시자
     - 매크로 확장 지시자   : #define, #undef
     - 조건부 컴파일 지시자 : #if, #else, #elif, #endif, # ifdef, #ifndef 
     - 외부 파일 지시자     : #include
     - 기타 지시자          : #error, #line


4. C 언어에서 동적 메모리 관리(할당,해제) 함수컴파일시에 메모리 공간을 확정하지 않고, 프로그램 실행시 동적으로 처리

  ㅇ malloc()  : 실행중에 동적으로 메모리 공간을 할당 
     - 할당된 메모리 공간의 첫 바이트의 포인터를 반환
     - 할당할 메모리 크기를 바이트 단위로 전달받고, 할당된 공간 크기 값들을 바꾸지 않음
  ㅇ calloc()  : malloc과 유사하나, 두 값 형식으로 메모리 공간을 할당
     - (개수,사이즈) 형식으로 전달받으며, 할당된 공간의 값을 모두 0으로 초기화
     - 따라서, 배열을 할당하고 모두 0으로 초기화 할 때는 calloc를 쓰면 편함
  ㅇ free()    : 이전 할당된 메모리 공간의 해제
  ㅇ realloc() : 이전 할당된 메모리 공간 크기 조정


5. [참고사항]

  ㅇ 실행과정 
     -  선행처리 -> 컴파일 -> Linking(링커) -> 실행

  ㅇ C 언어 표준
     -  ISO/IEC JTC1 SC22 WG14에서 개발 관리


[ C/C++ ]1. C 프로그래밍 언어  2. C 언어 구조체  3. C 연산자,C++ 연산자  4. C++ 언어  5. 포인터  6. 화일포인터  7. 라이브러리  8. 함수  

 
        최근수정     모바일웹     참고문헌