본문 바로가기
코스웨어/16년 스마트컨트롤러

2016_3_15_전역변수_노태경_업무일지

by 알 수 없는 사용자 2016. 3. 16.
728x90
반응형

함수내에서만 만드는 것
지역변수 함수내 선언
전역 변수 함수 밖에 선언되는 전역변수 (기준 함수안에 넣었느냐 함수 밖에 있느냐)


메모리 5가지영역 코드 데이타 BSS 힙 스택

전역변수  메모리공간

전역변수 데이타 BSS
지역변수 스택

코드 기계어



초기값이 있는 경우 데이타영역
초기값 없는 경우  BSS 영역



전역변수는 초기화하지 않으면 바이너리 0으로 들어간다 근 방에서 값을 찾고 없으면 전역에서 찾는다

전역함수는 모든 함수들이 사용가능하다

1. 관리가 어렵다 갑이 누가 쓸지 모른다
2. 메모리를 차지한다
ex) 스마트 함수에 인트 B를 만들면 스마트 함수를 종료하면
    비도 사라진다
    전역 변순는 프로그램 종료할 때 까지 그대로 살아 있다
3. 실행파일 용량을 키운다

지역변수 할 수 없는 일이 있을 경우 사용한다

main 함수 안에서 int A[1024*1024];

코드 데이타  BSS 힙 스택
코드 데이타 BSS (세 가족) 비슷하다 실행파일에 넣는다
선언하는 변수 크기 만큼 실행파일이 증가한다

HEAP STEAK 실행될떄 생겨나는 영역
위에 세가족 컴파일 할때 생겨난다컴파일타입임에서 생겨난다

밑에 영역 런타임 실행될때 만들어진다     

전역변수 실행파일이 늘어난다

전역은 용량이 커지게 된다

728x90