본문 바로가기
XR개발/C언어

C언어 함수

by 오머리쿠_OmaryKoo 2025. 1. 26.

1. 함수란 무엇인가?

함수(Function)는 특정 작업을 수행하는 코드 블록에 이름을 부여한 것이다. 함수를 사용하면 반복되는 코드의 중복을 줄이고, 프로그램의 구조를 더 명확하게 만들 수 있다. 특히, 코드의 유지보수성을 높이고, 필요한 작업을 모듈화할 수 있어 효율적인 프로그래밍이 가능하다.

2. 함수 정의와 사용법

함수의 기본 구조

함수는 크게 세 가지 요소로 구성된다.
1. 함수의 선언 - 함수의 원형을 정의한다.
2. 함수의 구현 - 실제 기능을 수행하는 코드 블록을 작성한다.
3. 함수의 호출 - 정의된 함수를 실행하는 과정이다.
 
예를 들어, 아래 코드에서 stars() 함수는 별을 출력하는 역할을 하며, main()에서 호출하여 실행된다.

 

*반환형이란, 함수가 처리를 종료한 후에 호출한 곳으로 반환하는 데이터 타입을 말한다.

여기서 void 같은 경우는 '비어있다'는 의미이며, 반환형 중 void 타입 경우엔 아무것도 return하지 않는다고 이해하면 된다.

그래서 위와같은 경우엔, void 반환형 같은 경우, return이 없다.


3. 매개변수와 반환값

함수는 매개변수를 통해 데이터를 전달받고, 연산 후 반환값을 돌려줄 수 있다. 이를 통해 함수의 유연성이 증가한다.

위 함수는 두 개의 정수를 입력받아 더 큰 값을 반환한다. return 키워드는 함수 실행 결과를 호출한 곳으로 돌려준다.

 

*만약 매개 변수가 없는 경우에는 stars(void)와 같이 매개변수 위치에 void를 써주거나 stars()와 같이 아무것도 적지 않으면 됨.


 

03_Q&A 변수랑 매개변수의 차이에 대한 물음.zip

Q1. 변수와 매개변수의 차이는?변수(Variable)란?"데이터를 저장하는 상자""내가 내 주머니에 돈을 넣어두고 쓰는 것"(내가 직접 값을 넣고 저장하는 개념)  ✔ 프로그램에서 값을 저장하는 공간✔

omarykoo.tistory.com


4. 함수 원형(prototype)

C 언어에서는 함수를 정의하기 전에 반드시 함수의 원형을 선언해야 한다. 함수 원형은 컴파일러에게 함수의 존재를 미리 알리는 역할을 한다.

함수 원형을 선언하면, 컴파일러가 함수의 반환 타입과 매개변수를 미리 인식할 수 있다.

 


 

 

10_Q&A 함수원형에 대한 물음.zip

Q1. 함수원형은 왜 필요한가?함수 원형은 함수를 정의하기 전에 미리 함수의 이름, 반환형, 그리고 매개변수의 타입을 선언하는 것이다. 이를 통해 컴파일러가 해당 함수가 존재한다는 것을 미리

omarykoo.tistory.com

 


5. 표준 라이브러리 함수(수학 함수)

C 언어는 다양한 수학 관련 함수를 제공한다. 대표적인 수학 함수는 math.h 헤더 파일에 정의되어 있으며, 다음과 같은 기능을 제공한다.

분류 함수 설명
삼각함수 sin(double x), cos(double x), tan(double x) 사인, 코사인, 탄젠트 계산
역삼각함수 asin(double x), acos(double x), atan(double x) 역삼각 함수 계산
로그/지수함수 exp(double x), log(double x), log10(double x) 지수 및 로그 함수
반올림 및 절대값 ceil(double x), floor(double x), fabs(double x) 올림, 내림, 절대값
기타 pow(double x, double y), sqrt(double x) 거듭제곱, 제곱근

 

예를 들어, floor()ceil() 함수는 다음과 같이 사용된다.


6. 난수 생성 함수

난수(Random Number)는 특정 범위 내에서 무작위로 생성되는 숫자이다. C언어에서는 rand() 함수를 이용하여 난수를 생성할 수 있으며, srand(time(NULL))를 사용하면 실행할 때마다 다른 난수를 생성할 수 있다.

 


7. 함수 활용 예제

1) 정수를 입력받는 함수

 

2) 팩토리얼 계산 함수

 

3) 소수 판별 함수

위 함수는 입력된 숫자가 소수인지 판별하는 역할을 한다. 사용자가 정수를 입력하면, 해당 숫자가 소수인지 여부를 확인하여 결과를 출력한다.

8. 함수를 사용하는 이유

A. 소스 코드의 중복을 없앤다

함수를 사용하면 동일한 작업을 여러 번 반복할 필요 없이 함수 호출만으로 작업을 수행할 수 있다. 이는 코드의 가독성을 높이고 유지보수를 용이하게 만든다.

 

B. 코드의 모듈화

함수를 사용하면 복잡한 프로그램을 단순한 부분으로 나누어 설계할 수 있다. 예를 들어, 리스트를 읽고 정렬한 후 출력하는 프로그램을 함수로 나누면 다음과 같이 정리된다.

이러한 방식으로 함수화하면 유지보수가 훨씬 용이해진다.

728x90