728x90
반응형
함수의 개념
함수
- 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램
- 함수들이 정해진 순서에 따라 실행됨으로써 프로그램의 기능을 수행
C 프로그램은 함수들로 구성되어있다
- 전체의 실행 내용을 몇 개의 모듈로 분류
- 각각의 모듈에 해당하는 내욜을 함수로 작성
- 실행순서에 따라 함수들을 차례로 호출하여 실행
함수의 특성
- 함수들은 서로 자유롭게 호출 가능
- 모든 함수는 서로 독립적
함수의 장점
- 프로그램의 수정이 용이하다
- 재사용으로 코드 중복을 최소화한다
- 프로그램의 기능을 한눈에 파악할 수 있고 유지관리에 용이하다
함수를 기능별로 분리해야 하는 이유
- 함수의 길이를 줄여 가독성
- 수정 및 재호출 용이
- 기능별 독립된 단위의 함수로 구성한 경우 효율적이다
C언어에서의 함수
- 표준함수: C언어에서 제공하는 함수
- 사용자 정의함수: 사용자가 정의하여 사용하는 함수
표준 함수
- 표준함수의 원형은 헤더파일에 정의되어있다
- 표준함수의 실체는 라이브러리 파일에 수록되어있다
- 표준함수를 사용하려면 원형이 선언되어있는 헤더파일을 선행처리 부분에서 #include<> 해야함
표준함수 원형의 예
- printf(), scanf() 함수의 원형
-> 헤더파일에 정리되어 있음(stdio.h)
-> 사용하기 위해서는 stdio.h를 #include<>해줘야한다 - sin(), cos() -> math.h
exp(x) : x의 지수값 -> e (2.71828...)의 x승
pow(x, y) : x의 y승
strlen(): 문자열의 길이
isalpha(): 영문자 여부
isdigit() :숫자 여부
사용자 정의 함수
C프로그램에서의 함수
- main()함수 안에 표준함수를 사용하는 형태
- 전체 프로그램을 짧은 단위 프로그램으로 나누어 정의
사용자 정의 함수
- 사용자가 단위 프로그램을 함수로 정의하여 사용하는 것
#include <stdio.h>
int sum(int a, int b);
int main(void) {
int x, y, c;
x = 10;
y = 20;
c = sum(x, y);
printf("%d", c);
}
int sum(int a, int b){
int d;
d = a + b;
return(d);
}
함수 정의의 구조
반환자료형 함수명 (자료형 매개변수1, 자료형 매개변수2, ...) <- 함수 헤더
{
함수몸체
}
반환자료형
- 계산된 결과값을 호출한 함수에 되돌려 줄 때의 자료형
- 사용될 수 있는 자료형은 C언어의 모든 자료형
- 생략할 경우 int형으로 간주된디
-
- 반환값이 없을 경우 void로 작성
함수명, 매개변수
- 함수명
-> 변수명을 정하는 규칙과 동일한 방식으로 정한다
-> 의미 있는 함수명을 정하는 것이 도움이 된다 - 자료형과 매개변수
-> 자료형은 매개변수의 자료형을 나타냄
-> 매개변수는 호출함수와 피호출 함수 사이에 자료를 주고 받기 위해 사용
-> 매개변수는 해당 함수 내에서 변수처럼 사용
-> 매개변수가 여러개일 경우는 콤마(,)로 구분
** 매개변수가 없으면 void로 작성
함수 몸체
- 함수가 하는 일을 정의하는 부분
- 중괄호를 이용하여 시작과 끝을 나타냄
- C언어의 기본 구조와 동일
main()함수
- 반환 자료형의 void는 반드시 명시(생략시 int로 처리된다)
- void와 공백은 동일한 의미
- 반환자료형이 있는 경우 return() 값 명시
함수의 사용
- 함수의 원형 선언
- 함수의 호출
- 함수의 정의로 구성
함수의 원형 선언
- 함수는 변수와 같이 사용되기 전에 미리 선언
- 함수의 원형 선언은 일반적으로 main()함수 이전에 한다
- 함수의 헤더 부분에 세미콜론만 추가하면 된다
-
- 함수의 원형 선언은 함수와 관련된 3가지 성질을 선언
-> 반환형, 매개변수의 개수, 매개변수의 자료형
- 함수의 원형 선언은 함수와 관련된 3가지 성질을 선언
- 피호출 함수가 main()함수 뒤에 선언되어있을 경우 원형선언이 꼭 필요하다
-> main()함수 이전에 피호출 함수를 작성하면 필요없음
함수의 호출
- 함수는 일종의 부 프로그램
- 함수의 호출이 있어야한다
- 함수의 호출 방법 -> 함수 이름과 매개변수 나열
매개변수
- 실 매개변수 (호출하는 함수의 매개변수)
- 형식 매개변수 (호출당하는 함수에 쓰이는 매개변수)
-
- 실 매개변수와 형식 매개변수의 자료형과 개수가 일치해야함
- 자료형이 일치하지 않을 경우는 형변환이 발생(형식 매개변수와 같은 형식으로)
- 변수의 개수가 일치하지 않는 경우에는 컴파일 에러
결과값 반환 (return문)
반응형
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 - 8. 배열과 포인터(1) (0) | 2021.03.16 |
---|---|
C언어 - 7. 함수와 기억클래스(2) (0) | 2021.03.14 |
C언어 - 5. 제어문과 반복문 (0) | 2021.03.10 |
C언어 - 4.입출력 함수와 연산자(2) (0) | 2021.03.10 |
C언어 - 3. 입출력 함수와 연산자(1) (0) | 2021.03.09 |
댓글