이것이 C언어다(서현우) 13단원 요약
- 최초 등록일
- 2020.11.09
- 최종 저작일
- 2020.03
- 7페이지/ MS 워드
- 가격 2,000원
소개글
"이것이 C언어다(서현우) 13단원 요약"에 대한 내용입니다.
목차
13장. 변수의 영역과 데이터 공유
13.1. 변수 사용 영역
13.2. 함수의 데이터 공유 방법
본문내용
13.1.1. 지역 변수
- 지역 변수(local variable): 변수의 종류를 나타내는 auto 예약어와 함께 함수 안에 선언함
- auto 예약어는 생략할 수 있으며 이 경우 함수 안에 선언된 변수는 자동으로 지역 변수가 됨
- 지역 변수는 프로그램에서 가장 많이 사용됨
- 지역 변수는 사용 범위가 블록 내부로 제한되므로 다른 함수에서는 사용할 수 없음
∴다른 함수에 같은 이름의 변수를 선언해도 이름이 충돌하지 않음
ex) 7행과 17행에 같은 이름의 변수를 두 번 선언했지만, 함수가 다르므로 문제가 되지 않음
(7행의 변수 a는 사용 범위가 main 함수의 블록으로 제한되므로 assign함수에서 사용할 수 없고, 17행의 변수 a도 main함수에서 사용할 수 없기 때문)
- 두 함수에 있는 변수 a의 저장 공간이 할당되는 방식도 사용 범위와 무관하지 않음
- 지역 변수는 이름이 같아도 선언된 함수가 다르면 각각 독립된 저장 공간을 가짐
(즉, 두 함수에 선언된 변수 a는 이름만 같을 뿐 메모리에 별도의 저장 공간을 가짐)
∴ assign함수가 호출된 이후에도 main함수에 있는 a의 값은 바뀌지 않음
- 지역 변수의 사용 범위를 함수 단위로 제한하고 독립된 저장 공간을 확보하면 2가지 장점이 있음
① 메모리를 효율적으로 사용함
- 지역 변수는 함수 안에서만 사용하므로 함수가 반환되면 그 저장 공간을 계속 유지할 필요가 없음
➜ 운영체제는 지역 변수가 선언된 함수가 반환되면 할당된 저장 공간을 자동으로 회수하여 재활용함
② 디버깅에 유리함
- 지역 변수는 값에 문제가 있을 때 수정하기 쉬움
- 지역 변수가 할당된 저장 공간은 자동으로 초기화되지 않으므로 쓰레기 값이 쓰이지 않도록 주의해야 함
- 사용 범위가 하나의 함수로 제한되므로 2개 이상의 함수에서 데이터를 공유하기가 쉽지 않음
tip 1. 함수의 매개변수는 지역변수임
- 함수를 만들 때 괄호 안에 선언하는 매개변수는 호출할 때 전달되는 값을 받기 위해 특별
참고 자료
없음