본문 바로가기
C언어

[C언어] 함수

by 전재경 2023. 3. 24.

함수란 ?

프로그래밍에서 함수(function)은 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합

예로 printf(), scanf() 등도 C언어에서 미리 만들어 제공된 함수이다.

심지어 메인 함수 'main()' 도 프로그램이 실행될 때 처음으로 실행하도록 약속된 함수이다.

 

이처럼 '함수'는 특정한 기능을 하는 코드들을 묶어 하나의 명령어처럼 사용이 가능하게 해준다.

 

함수를 사용하는 이유는 ?

반복적인 프로그래밍을 피할 수 있기 때문이다.

특정 작업을 여러 번 반복해야 할 때는 해당 작업을 수행하는 함수를 사용하면 된다.

이처럼 여러 개의 함수를 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성도 향상되고, 기능의 변경이 필요할 때

유지보수가 보다 쉬워진다.

 

함수의 선언과 구성 요소

반환형 함수명(매개변수1, 매개변수2 ...)
{
    코드들
}

이런 형태로 선언된다.

이렇게 함수를 만드는 것을 함수 정의 라고 한다.

예를 들자면

int sum(int a, int b)
{
	int c = a + b;
	return c;
}

와 같이 작성할 수 있다.

 

#include <stdio.h>

int sum(int x, int y);

int main(void)				//main 함수 시작
{
    int a = 10, b = 20;
    int result;				//두 정수를 더한 결과(result)를 저장할 변수
    
    result = sum(a, b);			//sum 함수 호출
    printf("result : %d\n", result);
    
    return 0;
}					//main 함수의 끝

int sum(int x, int y)			//sum 함수 정의 시작
{
    int temp;				//두 정수의 합을 잠시 저장할 변수
    
    temp = x + y;			//x와 y의 합을 temp에 보관
  
    return temp;			//temp의 값을 반환
    
}					//sum 함수의 끝

sum 함수에서

int sum(int x, int y)

// int 는 반환형

// sum 은 함수명

// (int x, int y) 는 매개변수

 

반환형은 함수가 기능을 수행한 후 호출한 곳으로 돌려줄 값의 자료형을 적습니다.

즉 sum 함수는 두 정수의 합을 반환해야 하므로 int를 사용

 

함수명은 기능을 충분히 예상할 수 있도록 적절한 이름을 선택, 두 정수를 더하는 함수이니 add 또는 sum과 같이 직관적인 함수명으로 만드는 것이 좋다.

 

매개변수는 함수가 처리할 데이터를 저장하는 변수로 함수명 옆의 괄호 안에 선언. sum 함수는 2개의 정수를 더하는 함수이므로 int형 변수를 2개 선언, 이때 매개변수의 자료형이 같아도 콤마로 구분해서 따로 선언.

'C언어' 카테고리의 다른 글

[C언어] 특징 및 소프트웨어 개발의 단계  (0) 2023.07.12
[C언어] #include <stdio.h>  (0) 2023.03.23

댓글