함수

  • 함수란 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램
  • 이러한 함수들이 정해진 순서에 따라 실행됨으로써 프로그램의 기능을 수행

  • C 프로그램은 함수들로 구성
    • 전체의 실행 내용을 몇 개의 모듈(module)로 분류
    • 각각의 모듈에 해당하는 내용을 함수로 작성
    • 실행순서에 따라 그 함수들을 차례로 호출하여 실행

함수의 특성 및 장점

  • 함수들은 서로를 자유로이 호출 가능
  • 모든 함수는 서로 독립적

  • 프로그램의 수정이 용이
  • 함수 재사용으로 코드 중복을 최소화
  • 프로그램의 기능을 한 눈에 파악할 수 있게 해줌으로써 유지관리가 쉽다

표준 함수

  • C언어 자체에서 제공하는 함수
  • 표준함수의 원형은 헤더파일에 정의
  • 표준함수의 실체는 라이브러리 파일에 수록
  • 표준함수를 사용하려면 원형이 선언되어있는 헤더파일을 #include 시켜 주어야 한다

  • C 언어에서의 표준함수 예

헤더파일선언된 함수함수 예
studio.h입출력 함수printf(), scanf(), getchar(), putchar() ...
파일 관련 함수fopen(), fclose(), fprintf() ...
conio.h콘솔 입출력함수putch(), cputs(), cprintf()(), getch(), getche(), cscanf() ...
string.h문자열처리 함수strcat(), ctrcmp(), strcpy(), strlen(), strncat(), ctrncpy() ...
math.h수학 함수sqrt(), sin(), cos(), tan(), log(), exp(), pow(), abs() ...
ctype.h문자형태 판별함수ㅑisalpha(), isdigit(), islower() ...
문자변환 함수tolower(), toupper()
stdlib.h수치변환 함수atoi(), itoa()
난수관련 함수rand(), srand()
정렬/검색 함수qsort(), lfind()

사용자 정의 함수

  • C 프로그램에서의 함수
    • main() 함수 안에 표준함수를 사용하는 형태
    • 그러나 동을 블록 내의 프로그램 길이가 길어지면 전체 프로그램은 복잡해지고 이해하기가 어려워짐
    • 따라 전체 프로그램을 짧은 길이의 단위 프로그램으로 나누어 정의함으로써 프로그램의 작성과 이해를 쉽게 할 필요가 있음

사용자 정의 함수 - 함수 정의 구조

반환자료형 함수명 (자료형 매개변수1, 자료형 매개변수2 ...){
	함수 몸체
}
  • 반환 자료형
    • 함수에서 계산된 결과값을 호출한 함수에 되돌려 줄 때의 자료형
    • 생략이 가능하며 생략할 경우 자료형은 int형으로 간주
    • 반환값이 없는 함수인 경우는 void형으로 선언

  • 함수명
    • 변수명을 정하는 규칙과 동일한 방식으로 함수명을 정한다

  • 자료형과 매개변수
    • 자료형은 매개변수의 자료형을 나타냄
    • 매개변수가 여려 개을 경우에는 콤마(,)로 구분
    • 매개변수가 없으면 void형으로 사용

Updated: