C 함수

(2018-11-23)

C 언어 함수, 함수

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

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


2. C 언어함수의 종류

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

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


3. C 언어함수의 사용함수의 사용
     - 함수 선언 : 함수의 원형(Prototype) 
     - 함수 정의
     - 함수 호출함수 선언/함수 정의의 구조
     - 함수 헤더 : 반환자료형 함수명 (자료형 매개변수, ... )
     - 함수 시작 : {
     - 함수 몸체
     - 함수 끝   : }


4. 주요 함수

  ㅇ 단일 문자 입출력 (stdio.h)
     - getchar(), putchar()

  ㅇ 단일 문자 검사 (ctype.h)
     - isalnum() (문자,숫자 여부), isalpha() (문자 여부), iscntrl() (제어문자 여부),
       isdigit() (숫자 여부), isgraph() (그래프문자 여부), islower() (소문자 여부),
       isupper() (대문자 여부), isspace() (공백문자 여부), isxdigit() (16진수 숫자 여부)

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

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


5. 동적 메모리 관리(할당,해제) 함수 (stdlib.h)컴파일시에 메모리 공간을 확정하지 않고, 프로그램 실행시 동적으로 처리
     
     - malloc()  : 실행중에 동적으로 1개 값 형식으로 메모리 공간(힙 메모리)을 할당 
        . 특징
           .. 할당할 메모리 크기를, 바이트 단위로 전달받고,
           .. 한 번 할당된 공간 크기 값들을 안 바꿈
           .. 할당 만 가능, 초기화는 할 수 없음
           .. (void *)을 반환하므로, 반드시 캐스트 연산자를 써야 함
        . 例)
           .. (int *) malloc (100*sizeof(int)); // 100개 정수 크기의 바이트
           .. (float *) malloc (sizeof(float)); // 1개 실수 크기의 바이트
        . 반환 : 할당된 메모리 공간의 첫 바이트의 포인터를 반환 (void *)
           .. 만일, 메모리 부족 등으로 할당 실패시, NULL을 반환

     - calloc()  : malloc과 유사하나, 두 값 형식으로 메모리 공간을 할당
        . (개수,사이즈) 형식으로 전달받으며, 할당된 공간의 값을 모두 0으로 초기화
        . 따라서, 배열을 할당하고 모두 0으로 초기화 할 때는 calloc를 쓰면 편함

     - free()    : 이전 할당된 메모리 공간의 해제

     - realloc() : 이전 할당된 메모리 공간 크기 조정


[C 함수] 1. C 함수 2. C 문자열 함수

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