happy coding

[c] C언어 함수 본문

self study/언어의 기본부터

[c] C언어 함수

yeoonii 2022. 11. 18. 23:04

함수

프로그래밍에서 함수란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있다. 그 종류에는 크게 1. 표준함수 2. 사용자 정의 함수 로 구분할 수 있다.

함수를 사용하는 이유

1. 반복적인 프로그래밍을 피할 수 있다.

2. 모듈화로 인해 전체적인 코드의 가독성이 좋아진다.

3. 프로그램에 문제가 발생하거나 기능의 변경이 필요한 경우에도 손쉽게 유지보수를 할 수 있다.

따라서 하나의 기능을 하나의 함수로 만드는 것이 좋다.

함수의 정의

1. 반환 타입(return type) : 함수가 모든 작업을 마치고 반환하는 데이터의 타입을 명시한다.

2. 함수 이름 : 함수를 호출하기 위한 이름을 명시한다.

3. 매개변수 목록(parameters) : 함수 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시한다.

4. 함수 몸체 : 함수의 고유 기능을 수행하는 명령문의 집합이다.

 

함수 호출 시엔 여러 개의 인수를 전달할 수 있지만, 함수가 반환할 수 있는 값은 1개를 넘지 못한다. 또한, 함수의 특성에 따라 인수나 반환값이 하나도 없는 함수도 존재할 수 있다.

함수의 원형 선언

함수를 정의하는 경우, 그 위치가 매우 중요하다. C언어에서는 가장 먼저 main() 함수가 컴파일러에 의해 컴파일된다. 그렇기 때문에 그 이후에 만약 다른 함수가 정의되어 있다면 컴파일러에 이를 알려줘야 하는데 그 역할을 하는 것이 함수의 원형(prototype) 선언입니다. 

먼저, 차례대로 한 번에 컴파일하는 방식을 단일 패스(one pass) 컴파일 방식이라고 하는데 요즈음 하드웨어의 발달로 컴파일러에 따라 여러 번에 걸쳐 컴파일하는 다중 패스(multi-pass) 방식이 많아지고 있다. 다중 패스 방식의 컴파일러에서는 함수의 원형을 선언하지 않아도 컴파일 오류를 발생시키지 않지만 오래된 컴파일러는 대부분 단일 패스 방식으로 컴파일한다.(C 표준 또한 그렇다.)

반환타입 함수이름 (매개변수타입);

 

'self study > 언어의 기본부터' 카테고리의 다른 글

[c] 재귀 호출  (0) 2022.11.19
[c] 변수의 유효 범위  (0) 2022.11.18
[c] 기타 제어문  (0) 2022.11.18
[c] 반복문  (0) 2022.11.18
[c] 조건문  (0) 2022.11.18
Comments