함수
함수의 개요
함수의 개념
-
특정한 작업을 처리하기 위한 코드들의 집합
int sum(int n);
: 1 ~ n까지의 합을 반환int average(int n);
: n개 데이터에 대한 평균을 반환void print_menu();
: 프로그램 실행을 위한 메뉴 출력void factorial(int n);
: n의 팩토리얼 출력
함수의 종류
- 라이브러리 함수
- C프로그램에서 기본적으로 제공되는 함수
- 사용자 정의 함수
- 사용자가 필요에 의하여 정의하는 함수
함수의 활용
사용자 정의 함수
함수의 형식
-
반환되는 데이터 타입, 함수 이름, 매개변수, 반환 값 등을 명시
-
main 함수 안에서 호출되며, 사용자 정의 함수는 미리 정의되어야 함
-
//n
수 만큼 n을 출력하는 함수void print_n(int n) {
for (int i = 1; i <= n; i++) {
printf("%d ", i);
}
printf("\n");
}- void : 반환되는 데이터 타입, 만일 int 등의 반환 타입이 있을 경우 return.. 의 형식으로 값을 반환
- print_n : 함수 이름
- int n : 매개변수, 함수 호출 시 전달되는 값
재귀 함수
- 함수 자신을 반복하여 호출하여 실행하는 함수
라이브러리 함수
- 미리 제공되어 컴파일러가 인식할 수 있는 함수
- 헤더파일에 사용할 함수가 포함되어 있는 헤더파일을 선언해야 함
#include <stdio.h>
-
문자열 변환
atof
: 문자열을 double 형으로 변환함atoi
: 문자열을 정수형으로 변환함atol
: 문자열을 long 형 정수로 변환함strtod
: 문자열을 double 형으로 변환함strtol
: 문자열을 long 형 정수로 변환함strtoul
: 문자열을 unsigned long 형 정수로 변환함
-
난수 생성 함수
rand
: 난수 생성 함수srand
: 난수 생성을 위한 초기값을 설정함
-
동적 할당 관련 함수
calloc
: 메모리에서 배열을 위한 공간을 할당함free
: 메모리에서 공간을 사용 해제함malloc
: 메모리에서 공간을 할당함realloc
: 메모리에서 공간을 재할당 함
-
math.h
분류 함수 설명 삼각함수 double sin(double x)
사인 값 계산 double cos(double x)
코사인 값 계산 double tan(double x)
탄젠트 값 계산 지수함수 double exp(double x)
e^x double log(double x)
로그 값 계산 double log10(double x)
10을 밑으로 하는 로그 값 계산 기타함수 double ceil(double x)
x보다 작지 않은 가장 작은 정수 double floor(double x)
x보다 크지 않은 가장 큰 정수 double fabs(double x)
실수 x의 절대값 int abs(int x)
정수 x의 절대값 double pow(double x, double y)
x^y double sqrt(double x)
x의 제곱근