반응형
안녕하세요. 훈츠 입니다. 오늘은 함수에 대해 정리 해보도록 하겠습니다.
함수 정의
- 특정한 작업을 수행하도록 제작된 독립적인 코드
- ( 코드 덩어리 + 이름 ) = 함수
- 처리가 시작되는 메모리 주소를 의미
- 코드의 재사용이 가능하며, 전체 구조를 파악하기 쉽다.
- Init() : 초기화에 관한 코드
- Update() : 업데이트에 관한 코드
- Release() : 메모리 해제에 관한 코드
제공 함수 (표준 함수)
- MSDN 라이브러리 확인해보면, 포함해야하는 헤더 및 사용용례를 확인가능합니다.
- https//docs.microsoft.com/ko-kr/cpp/c-language-reference?view=vs-2019
- 헤더 파일 포함
- #include <xxx.h> : 이미 설치 파일에 함수가 있을때 경로 지정법
- #include "xxx.h" : 제작 함수인 경우 경로 지정법
- 입출력 함수
- #include <conio.h>
함수 | 설명 |
_getch() | 키보드로 부터 한 문자를 입력 받지만 화면에 출력하지 않음. |
_getche() | _getch와 동일하나, printf가 포함되어있음. |
putch() | 한 문자 출력 |
gets() | 키보드로부터 문자열을 입력 받음 |
puts() | 화면에 문자열 출력 |
scanf_s(), scanf() | 입력 형식에 따라 화면으로부터 값을 입력 받음 |
kbhit() | 키의 상태 체크 (눌림, 놓임) |
printf(), printf_l(), wprintf() | 화면에 출력하는 함수 |
- 수학 관련 함수
- #include <math.h>
함수 | 설명 |
abs() | 절대값 |
sin(), cos(), tan() | 싸인, 코싸인, 탄젠트 |
sqrt() | 양의 제곱근 계산 |
pow() | 제곱 계산 |
rand() | 난수 생성기 |
- 메모리 관련 함수
- #include <stdlib.h>
함수 | 설명 |
malloc() | 메모리 할당 |
free() | 할당된 메모리 해제 |
memcpy() | 메모리 복사 |
memset() | 메모리 초기화 |
- 문자열 관련 함수
- #include <string.h>
- 알파벳 대문자를 소문자로 변환 함수 : tolower, 헤더 <ctype.h>
함수 | 설명 |
strcmp() | 문자열 비교 |
strlen() | 문자열 길이 계산 |
strcpy() | 문자열 복사 |
strcat() | 문자열 연결 |
제작 함수
- 선언 및 사용법
- main() 함수 '위'에 선언
- main() 함수 '아래' 선언 -> 위에 다가는 형식만 선언 합니다.
#include <stdio.h>
int add(int , int ); //이렇게도 사용 가능
//int add(int var1, int var2); //이렇게도 사용 가능
int main() {
printf("값 %d ", add(3, 4));
getch(); //waiting for step
return 0;
}
//add 함수 아래 선언
int add(int var1, int var2) {
return var1 + var2;
}
재귀 함수 (recursive function)
- 함수 안에서 함수 자신을 호출하는 함수
- 재귀 함수를 사용할때 주의 사항
- 재귀 함수 안에는 종료 조건이 받으시 있어야한다. 아니면 무한 호출로 메모리가 꽉차 system error가 발생
- 게임 혹은 수학? 특정 경우에 사용 된다.
반응형
'컴퓨터 언어 > C' 카테고리의 다른 글
[C] C언어 6일차 포인터 (0) | 2020.03.15 |
---|---|
[C] C언어 5일차 배열 (0) | 2020.03.14 |
[C] C언어 3일차 반복문과 분기문 (0) | 2020.03.12 |
[C] C언어 3일차 연산자 (0) | 2020.03.12 |
[C] C언어 3일차 상수 (0) | 2020.03.11 |