9-1 함수의 정의 및 선언

- Divide and Conquer!

- 전달인자나 반환값이 없어도 된다.

- 호출되기 전에 선언되어야 한다.


9-2 변수의 범위(scope)

1) 지역변수

- 중괄호 내의 '지역'에 선언된 변수. 선언된 지역 내에서만 유효하다.
- 지역변수는 선언될 때 메모리 상에 올라갔다가, 선언되었던 지역이 끝나면 지워진다.
- 선언된 지역보다 상위 지역에 같은 이름의 변수가 있어도, 하위 지역의 전역변수가 사용된다.


2) 전역변수

- 함수 외부에 선언된 변수. 모든 코드에서 사용가능하다.
- 전역변수는 초기화하지 않으면 쓰레기값이 아니라 0 이 들어간다.


3) static 변수

- 지역변수의 선언에서 자료형 앞에 static이라는 키워드를 붙인 변수
- 함수가 종료되어도 메모리에 그대로 남아있다.
- 반복문에서 값을 유지시킬 수 있다.


4) register 변수

- 지역변수의 선언에서 자료형 앞에 register라는 키워드를 붙인 변수
- CPU의 레지스터에 저장이 된다. 빠르게 처리된다.
- 레지스터에 적재할 공간이 없으면 무시된다.


9-3 재귀적 함수 호출

- 함수 내에서 자기 자신을 다시 호출하는 형태.
- 종료조건을 설정하지 않으면, 완료되지 않은 함수가 계속 쌓이게 되어 메모리 부족으로 프로그램이 비정상 종료된다.



'학부 전공 > C' 카테고리의 다른 글

12. 포인터의 이해  (0) 2010.07.14
11. 1차원 배열  (0) 2010.07.14
8. 분기문  (0) 2010.07.08
7. 반복문  (0) 2010.07.08
6. printf함수와 scanf함수  (0) 2010.07.08

+ Recent posts