C언어-1022
- 최초 등록일
- 2019.07.19
- 최종 저작일
- 2018.09
- 5페이지/ MS 워드
- 가격 1,500원
목차
1. 기억부류
i. 전역 변수와 지역 변수의 차이
ii. 지역 변수의 장점
iii. 자동 변수
iv. 레지스터 변수
v. 외부 변수
본문내용
전역 변수와 지역 변수의 차이
1. [저장 장소] 변수의 선언 위치가 다르다.
전역 변수는 함수 외부에 선언하고, 지역변수는 내부에서 선언한다.
2. [통용 범위] 변수가 사용될 수 있는 범위를 의미하는데 전역변수는 프로그램 전체가 공유한다. 단, 자신이 선언된 이후에만 사용될 수 있다. 선언되기도 전부터 사용되는 것
은 불가능하다. 지역변수는 선언된 특정한 함수 / 지역안에서만 작동한다. 그 밖에서는 존재할 수 없다. 지역을 벗어나면서 자동으로 소멸하게 된다.
3. [파괴 시기] 변수는 값을 기억하기 위해 메모리를 할당 받아 사용한다. 변수를 다 사용했다면 변수가 차지 하고 있던 메모리를 회수한다는 의미이다. 전역 변수는 프로그램에 속해있고, 모든 함수에서 사용 가능해야 하기 때문에 프로그램이 종료되기 전까지는 계속 존재하다가 프로그램이 종료될 때 파괴된다. 지역 변수는 특정 지역 내부에서만 쓰이기 때문에 해당 지역이 끝나면 파괴된다
4. [저장 장소] 변수가 메모리 상에 기억되는 장소가 다르다. 전역 변수는 한번 정해진 메모리 위치에 계속 남아 있어야 하므로 정적 데이터 영역(data 영역)에 생성된다. 정적 데이터 영역이란 프로그램의 코드 바로 다음에 위치하는 실행파일의 한 부분인데, 프로그램이 실행될 때 메모리로 로드 되어 실행 중에 계속 유지된다. 지역변수는 프로그램 실행 중에 생성과 파괴를 반복하므로 임시 메모리 영역인 스택에 생성된다
5. 초기화 여부가 다르다. 전역 변수는 별도의 초기식이 없더라도 0으 로 초기화된다. (BSS 공간) 지역변수는 초기화를 해주지 않으면 쓰레기 값이 들어 있는 상태가 된다. 전역 변수와 달리 계속해서 생성과 파괴를 반복하기 때문에 매번 변수를 초기화 하면 그만큼 실행 속도가 느려지기 때문에 초기화되지 않는 것이다
지역 변수의 장점
1. 함수는 불가피한 경우를 제외하고는 가급적이면 독립적으로 스스로 작동할 수 있도록 만들어야 한다
참고 자료
없음