C 함수

(2018-06-18)

C 언어 함수, 동적 메모리 관리 함수

1. C 언어함수 및 특징함수
     - 특정 작업을 수행하도록 설계된 독립적인 프로그램(부프로그램)

  ㅇ 특징
     - 모두 동등/대등한 자격을 갖음 (상하 관계가 없음)
     - 서로 독립적임 (종속적이지 않음)


2. C 언어함수의 종류

  ㅇ 표준 함수 : C 언어 자체에서 제공 
     - 표준 라이브러리 형태로 제공 
        . 표준 함수의 형식인 원형(Prototype)은, 헤더 파일에 정의되어 있으며,
        . 그 실체는, 라이브러리 파일에 수록되어 있음
        . 실제 내용은, 링킹라이브러리 파일에서 읽혀져 작성된 프로그램에 결합됨

  ㅇ 사용자 정의 함수
     - 개발자가 직접 함수 선언 및 정의를 함


3. C 언어함수의 사용함수의 사용
     - 함수의 원형(Prototype) 선언
     - 함수의 정의
     - 함수의 호출

  ㅇ 함수의 정의 구조
     - 함수 헤더 : 반환자료형 함수명 (자료형 매개변수, ... )
     - 함수 시작 : {
     - 함수 몸체
     - 함수 끝   : }


4. 주요 함수

  ㅇ 단일 문자 입출력 : getchar(), putchar()

  ㅇ 문자열 처리  ☞ C 문자열 함수 참조
     - 문자열 입출력 : gets(), scanf(), puts(), fputs(), printf()

  ㅇ 파일 입출력
     - fopen(), fclose(),getc(), putc(), exit(), fprintf(), fscanf(),
       fgets(), fputs(), rewind(), fseek(), ftell(), fflush(), fgetpos(),
       fsetpos(), feof(), ferror(), ungetc(), setvbuf(), fread(), fwrite()


5. 동적 메모리 관리(할당,해제) 함수컴파일시에 메모리 공간을 확정하지 않고, 프로그램 실행시 동적으로 처리
     
     - malloc()  : 실행중에 동적으로 메모리 공간을 할당 
        . 할당된 메모리 공간의 첫 바이트의 포인터를 반환
        . 할당할 메모리 크기를 바이트 단위로 전달받고, 할당된 공간 크기 값들을 안 바꿈
           .. 例) (int *) malloc (sizeof(int));
           .. 例) (float *) malloc (sizeof(float));
     - calloc()  : malloc과 유사하나, 두 값 형식으로 메모리 공간을 할당
        . (개수,사이즈) 형식으로 전달받으며, 할당된 공간의 값을 모두 0으로 초기화
        . 따라서, 배열을 할당하고 모두 0으로 초기화 할 때는 calloc를 쓰면 편함
     - free()    : 이전 할당된 메모리 공간의 해제
     - realloc() : 이전 할당된 메모리 공간 크기 조정


[C 함수] 1. C 함수 2. C 문자열 함수
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
              1. C 언어
              2. C 연산자
              3. C++ 언어
          1.   C 언어 컴파일
          2.   C 변수,상수,자료형
          3.   C 함수
          4.   포인터
        2.   자바(Java)
        3.   자바스크립트
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌