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 |