1. C 언어 함수의 종류
ㅇ 표준 함수 : C 언어 자체에서 제공
- 표준 라이브러리 형태로 제공
. 표준 함수의 형식인 원형(Prototype)은, 헤더 파일에 정의되어 있으며,
. 그 실체는, 라이브러리 파일에 수록되어 있음
. 실제 내용의 연결은, 링킹시 라이브러리 파일에서 읽혀져 작성된 프로그램에 결합됨
ㅇ 사용자 정의 함수
- 개발자가 직접 함수 선언 및 정의를 함
2. 주요 C 함수 종류
ㅇ main()
- 프로그램 수행시 가장 먼저 호출되는 함수로써,
- 모든 C 언어 프로그램의 수행시에 꼭 필요
ㅇ 입출력 (stdio.h)
- 표준 입출력 (stdio.h) ☞ C 문자열 함수 참조
. 형식이 없는 표준 스트림 입출력
.. 단일 문자 입출력 : getchar(), putchar()
.. 문자열 입출력 : gets(), puts()
. 형식이 있는 표준 스트림 입출력 : scanf(), printf()
- 파일 입출력 (stdio.h) ☞ C 파일 처리 함수 참조
. 파일 열기,닫기 : fopen(), fclose()
. 파일 읽기,쓰기 : getc(), fgetc(), putc(), fputc(), fgets(), fputs(), fscanf(fp),
fprintf(), fread(), fwrite()
. 파일 위치 제어 : fseek(), ftell(fp), feof()
. 파일 에러 유무 : ferror()
. 기타 : exit(), rewind(), ftell(), fflush(), fgetpos(), fsetpos(), ungetc(), setvbuf()
ㅇ 단일 문자 검사 (ctype.h)
- isascii() (ASCII 문자 여부), isalnum() (문자,숫자 여부), isalpha() (영문 알파벳 문자 여부)
. 例) isalpha(97) 또는 isalpha('a')
- iscntrl() (제어문자 여부 : \n 등)
- isgraph() (화면 출력 가능 문자, space 제외), isprint() (화면 출력 가능 문자, space 포함)
- ispunct() (화면 출력 가능 여부 : 영문,숫자,space 이외 화면 출력 가능 문자 여부)
- isblank() (빈문자 여부 : space, \t), isspace() (공백문자 여부 : space, \f, \n, \r, \t, \v)
- isdigit() (숫자 여부), isxdigit() (16진수 숫자 여부 : 0~9, A~Z,a~z)
- islower() (소문자 여부), isupper() (대문자 여부)
ㅇ 문자열 처리 (string.h) ☞ C 문자열 함수 참조
- strlen() (문자열 길이)
- strcat() (문자열 연결), strncat() (문자열 n개 연결)
- strcmp() (문자열 비교), strncmp() (문자열 n개 비교)
- strcpy() (문자열 복사), strncpy() (문자열 n개 복사) 등
ㅇ 동적 메모리 관리(할당,해제) 함수 (stdlib.h) ☞ 동적 메모리 관리 참조
- 컴파일시에 메모리 공간을 확정하지 않고, 프로그램 실행시 동적으로 처리
. malloc() : 실행중에 동적으로 1개 값 형식으로 메모리 공간(힙 메모리)을 할당
. calloc() : malloc과 유사하나, 두 값 형식으로 메모리 공간을 할당
. free() : 이전 할당된 메모리 공간의 해제
. realloc() : 이전 할당된 메모리 공간 크기 조정