본문 바로가기

정보처리

C언어 함수

728x90

1. 사용자 정의 함수

사용자 정의 함수는 사용자가 필요한 기능을 취향대로 만들어 사용할 수 있는 함수. 사용자 정의 함수를 사용하면 프로그램 구조가 간단해지고 이해하기 쉬워짐. 무엇보다 동일한 코드를 반복 입력하는 수고를 줄일 수 있음.

예 1)

#include <stdio.h>
void func(int i, int j);

main(){
	int a = 3; b = 12;
    func(a, b);
    printf("%d, %d\n", a, b);
}

void func(i, j)
int i, j;
{
	i *= 3;
    j /= 3;
    printf("%d, %d\n", i, j);
}

리턴 값이 없는 func함수를 만들고 함수에서 사용할 인수는 int i, int j로 정의

main() 함수 안에서 a = 3, b = 12 선언 후 func()에 a, b를 넣어서 호출 func(i, j)은 10번째 줄에 선언되어 있음

func(i, j)의 i는 i * 3, j는 j / 3의 값으로 변환

main() 함수 안에서 a, b의 출력 결과값은 3, 12, func(i, j) 안에서의 i, j의 출력 결과값은 9, 4

2. 내장 함수

많이 사용되는 기능을 미리 함수로 만들어 제공하는 함수로 이를 내장 함수라고 함. printf() 함수도 내장 함수 중 하나

분류 함수명 기능 헤더 파일
수학 함수 pow(x,y) - x^y, 즉 x의 y제곱
- 결과값은 실수
math.h
sqrt(x) - x의 제곱근
- 결과 값은 실수
abs(x) - 절대값
- 결과는 항상 양의 정수
문자열 함수 strlen(a) - 문자열 a의 길이를 구함 string.h
strcpy(a,b) - 문자 배열 a에 문자 배열 b의 값을 복사
strcmp(a,b) 문자 배열 a와 b를 비교
- a와 b가 동일하면 0을 반환
- a가 크면 1을 반환
- b가 크면 -1을 반환
데이터 변환 함수 atoi(a) - 문자열을 정수형으로 변환 stdlib.h
atof(a) - a는 문자 배열의 이름
난수 관련 함수 srand(시드) - 문자열을 double 자료형의 데이터로 변환
- a는 문자 배열의 이름
time.h
rand() - 난수를 발생
time() - 현재 시간 값을 정수 형태로 반환
메모리 관련 함수 malloc() - 메모리 공간을 확보 stdlib.h
free() - 할당된 메모리 공간을 해제
728x90

'정보처리' 카테고리의 다른 글

데이터베이스 개념  (0) 2024.04.12
JAVA 기초  (0) 2024.04.08
C언어의 포인터, 배열, 구조체  (1) 2024.04.07
C언어의 제어문  (1) 2024.03.29
순서도와 C언어의 기본  (0) 2024.03.27