본문 바로가기
Coding&Script/C, C++,C#

함수/재귀함수

by WeetLies 2019. 3. 19.
함수지정하기

소스코드 중 중복적으로 작업하거나, 똑같은 내용의 코드가 반복적으로 작성을 해야할경우 별도의 함수로 만들어 함수를 호출하는 식으로 소스코드를 줄일수 있다. 함수를 만들기위해서는 아래와 같은 형식을 유지해야한다.

여기서 매개변수와 return은 꼭 필요한 부분은 아니기때문에 생략도 가능하다. 

맨위의 소스코드를 보면, 반복적으로 출력하기위한 "보유하고있는 포인트는 : 부분을 출력해서 데이터를 넣기위해 함수를 만들었다. 

이부분을 함수로 만들어서 메인 함수 내에서는 point를 호출해서 매개변수에 값만 넣어주면 원하는 결과를 받을수 있게 되었다.

여기서 반환자료형에 int/char 등의 자료형이 아닌 void가 선언된 이유는

void는 아무형(타입)도 아닌 자료형으로 이 안에서는 특정 자료형으로 선언되지 않는 공간이다. int형이나 다른 형은 마지막에 return 값을 반환시켜줘야 하지만, void는 정해지지 않은 타입이기때문에 return값을 받지 않더라도 정상적으로 작동한다. 즉, 불필요하게 int형 등으로 작성후 return시키는 시간을 없애고 작업할수 있다. (굳이 리턴값을 반환할 필요가 없는 함수일때), void는 특정한 자료형으로 지정되지 않았기때문에, 메모리상의 크기도 지정되지 않고, 그렇기에 변수를 지정할 수 없다.(포인터로 선언은 가능하다)




함수를 지정해서 재귀함수[각주:1] 만들기

.

사용자게에 숫자값을 입력받고 입력받은 숫자를 통해 팩토리얼[각주:2]을 구하는 함수.


  1. 함수내에서 본인 자신을 다시 호출하는 함수 [본문으로]
  2. 팩토리얼(계승) 1부터 어떠한 정수n까지의 정수를 모두 곱한것. 표기는 숫자! 팩토리얼의 0!일경우는 1로 약속하고 그 이후는n까지의 모두 곱한값이 결과이다. 예)5! = 1*2*3*4*5=120 [본문으로]

'Coding&Script > C, C++,C#' 카테고리의 다른 글

포인터  (0) 2019.03.19
배열  (0) 2019.03.19
반복문(for, while)  (0) 2019.03.18
연산자(삼항/비트연산자)  (0) 2019.03.18
조건문  (0) 2019.03.15