컴퓨터 언어/C

[C] C언어 4일차 함수

훈츠 2020. 3. 13. 23:20
반응형

안녕하세요. 훈츠 입니다. 오늘은 함수에 대해 정리 해보도록 하겠습니다. 

함수 정의 

  • 특정한 작업을 수행하도록 제작된 독립적인 코드 
  • ( 코드 덩어리 + 이름 ) = 함수 
  • 처리가 시작되는 메모리 주소를 의미
  • 코드의 재사용이 가능하며, 전체 구조를 파악하기 쉽다. 
    • 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