줘이리의 인생적기

C - 함수 본문

공부/C

C - 함수

줘이리 2020. 5. 12. 19:31
728x90

 

 

Index

  • 함수 정의
  • 함수 호출, 반환
  • 함수 선언
  • 매개변수가 없는 함수
  • 변환값이 없는 함수
  • 매개변수, 변환값이 없는 함수
  • 재귀함수

 

1. 함수 정의

함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현

함수 정의 기본 구조

 

2. 함수 호출, 반환

함수 호출 : 함수 호출을 해야 함수 사용 가능

 

3. 함수 선언

함수 선언 : 컴파일러에 어떤 함수를 사용할 것이라고 정보를 주는 역할

 

 

 

함수 정의, 호출, 반환, 선언 예제

#include <stdio.h>

int sum(int x, int y);       // sum 함수 선언

int main(void)               
{
	int a = 2, b = 3;
	int result;             

	result = sum(a, b);      // sum 함수 호출
	printf("result : %d\n", result);

	return 0;
}                            

int sum(int x, int y)        // sum 함수 정의 
{
	int temp;                

	temp = x + y;            

	return temp;             // temp 값 반환
}                           

 

4. 매개변수가 없는 함수

호출한 함수로부터 값을 받을 필요가 없을 때 매개변수를 쓸 필요가 없다.

 

매개변수가 없는 함수 예제

#include <stdio.h>

int get_num(void);                    // 함수 선언

int main(void)
{
	int result;

	result = get_num();               //함수 호출
	printf("입력값 : %d\n", result);  
	return 0;
}

int get_num(void)                     // 함수 정의, 매개변수가 없다.
{
	int num;                         

	printf("값 입력 : ");           
	scanf("%d", &num);                

	return num;                       // 입력값 반환
}

실행결과

 

5. 변환값이 없는 함수

데이터를 받아서 단지 화면에 출력하는 함수라면 특별한 반환값은 필요 없다.

#include <stdio.h>

void print_char(char ch, int count);    // 함수 선언

int main(void)
{
	print_char('#', 10);                 // 함수 호출

	return 0;
}

void print_char(char ch, int count)     // 함수 정의, 매개변수는 있으나 반환형은 없다.
{
	int i;

	for (i = 0; i < count; i++)        
	{
		printf("%c", ch);              
	}

	return;
}

실행결과

 

 

6. 매개변수, 변환값이 없는 함수

둘 다 필요 없는 경우가 있다 예제로 알아보자.

 

매개변수, 변환값이 없는 함수 예제

#include <stdio.h>

void print_line(void);                // 함수 선언

int main(void)
{
	print_line();                     // 함수 호출
	printf("이름     나이     성별     주소\n");
	print_line();                     // 함수 호출

	return 0;
}

void print_line(void)                 //함수 정의, 매개변수와 반환값 모두 없음. 
{
	int i;

	for (i = 0; i < 35; i++)         
	{
		printf("-");
	}
	printf("\n");
}

실행결과

 

7. 재귀함수

자기 자신을 호출하는 함수

 

재귀함수 예제

#include <stdio.h>

void animal(void);			// 함수 선언

int main(void)
{
	animal();				// 함수 호출

	return 0;
}

void animal(void)			// 함수 정의
{
	printf("tiger\n");
	animal();				// 재귀호출
}

실행결과

무한루프에 빠졌다.

 

'공부 > C' 카테고리의 다른 글

C - 포인터  (0) 2020.05.14
C - 배열  (0) 2020.05.14
C - 반복문(while, for, do ~ while)  (0) 2020.05.12
C - 조건문(if, switch ~ case)  (0) 2020.05.12
C - 연산자  (0) 2020.05.12