DEV/C 언어
함수(Function)
초록매실원액
2015. 12. 28. 12:16
함수
인수를 전달 받아 일련의 작업을 수행한 뒤 그 결과를 반환하는 코드
프로그램의 부품 역활을 하는 함수들이 모여 큰 함수로 만들어진다.
- 표준함수와 사용자 정의 함수로 구분
장점
Divide and Conquer!
재사용이 가능하다.
관리가 용이하다.
큰 프로그램 작성시 공동작업이 유리하다.
기독성을 높일수 있다.
함수의 호출 방식
함수를 호출할 때 인수를 전달하는 방식
전달방식에 따른 2가지 방식
- 값 호출(Call by value)
- 인수의 값을 호출한 함수에 전달
- 참조 호출(Call by Reference)
- 인수의 주소를 호출한 함수에 전달
지역변수(local)
- 함수 내부에 선언되는 변수
- 선언된 변수는 해당 함수의 안에서만 사용가능
- 함수가 호출 될 때 스택이란 메모리 공간에 선언된다.
- 함수 종료 시 내부에 선언된 지역변수의 값이 메모리상에서 사라진다.
- 초기값은 쓰레기 값으로 지정된다.
전역변수(global)
- 함수의 외부에 선언되는 변수
- 전역변수는 데이터 영역에 메모리가 위치
- 프로그램 전체에서 변수 사용 가능
- 프로그램이 종료될 때까지 값이 사라지지 않음
- 초기값은 0으로 지정
Register 변수
- 메모리가 아닌 CPU의 레지스터에 저장된다.
- 최소 2개까지만 지원하고 그 이후에는 지역변수로 선언된다.
- 빠른 속도를 위하여 사용 현재는 거의 사용되지 않는다.
정적변수(Static)
- 함수 내부에 선언되지만 프로그램이 종료될 시 까지 그 값을 유지한다.
- 전역 변수와 마찬가지로 데이터 영역에 저장
- 초기값이 없을 시 0으로 초기화되며 프로그램 실행 시 한번만 초기화
정적변수의 선언
- 정적변수는 변수 앞에 static을 붙여 선언
- static DataType 변수명 ;
함수의 선언
두 정수를 인자값으로 넘긴 뒤 두 수의 합을 반환하는 함수
int FUNCTION( int A, int B ){
int c;
c =a+b;
return C;
}
인수(argument or parameter)
- 원하는 함수를 호출할 때 넘져주는 값
Return문
- 함수가 종료되며 리턴한 값을 함수의 결과값으로 취한다
- 단지 함수의 종료를 위해 사용되기도 한다.
- Main에서의 return문은 프로그램 종료
- void형 함수에서는 return문이 생략 가능하다
Return문의 데이터 타임
- 리턴값에 맞는 데이터 타입을 설정