티스토리 뷰

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문의 데이터 타임

  • 리턴값에 맞는 데이터 타입을 설정





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

Printf()  (0) 2015.12.28
[스크랩]fflush(stdin)  (0) 2015.12.28
변수 및 연산자  (0) 2015.12.24
What is C-Language  (0) 2015.12.24
#pragma warning(disable : 4996)  (1) 2015.12.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함