티스토리 뷰

스토리지 클래스

#기초이해

1. 기억부류(스토리지 클래스)
변수나 함수를 선언할 때 사용되는 키워드

변수나 함수의 저장위차와 사용범위를 결정
변수나 함수 선언시 맨 앞에 지정
변수의 디폴트 기억 부류는 auto이고, 함수의 디폴트 기억 부류는 extern

기억 부류 데이터형 변수명;
기억부류 리턴형 함수형(매개변수 리스트);
2. auto변수
지역변수는 디폴트로 auto 기억 부류를 사용
- auto 지역 변수는 선언된 위치에서 자동으로 생성되고, 선언된 블록을 빠져나갈 때 자동으로 해제됨

for 루프에서 선언시 루프내에서만 통용
3. register 변수
변수를 메모리에 할당하는 대신 cUP의 레지스터에 할당
변수를 레지스터에 할당하면 변수에 더 빠르게 접근
보통 루프 제어 변수를 레지스터 변수로 선언
register 변수로 선언해도 변수가 레지스터에 할당되지 않을 수있음
레지스터 변수에 대해서는 주소 구하기 연산자를 사용할 수 없음

4. global 변수
다른 곳에 선언된 변수에 대하여 별도의 메모리 할당 없이 해당 변수를 사용
전역 변수를 코드중간에 선언하면, 전역 변수가 선언된 뒤쪽에 정의된 함수에서만 사용 가능

# 정적 지역 변수

1. 정적 지역 변수
키워드 : static
번역 과정의 마지막 단계인 적재 시간에 기억 장소를 할당 받는 변수가
전체 프로그램의 시작부터 종료까지를 생존 기간으로 하며 동일 기억 장소를 유지보수
초기화는 기억 공간 할당 시 한 번만 초기화됨
정적 지역 변수는 전역 변수처럼 프로그램이 시작할 때 메모리에 할당되고 프로그램이 종료할 때 해제
전역 변수와는 달리 정적 지역 변수는 선언된 함수 안에서 만 사용
정적 지역변수는 함수가 리턴하더라도 해제되지 않고 남아 있다가 그 다음 함수 호출시 그대로 다시 이용

2. 정적 전역 변수
정적 전역 변수는 정적 전역 변수가 선언되 소스 파일에서만 사용
정적 전역 변수는 변수를 다른 소스 파일에서 접근하지 못하도록 제한

3. 스토리지 클래스 비교


'JAVA기반스마트웹개발2021 > 프로그래밍언어 활용' 카테고리의 다른 글

전처리기  (0) 2021.08.05
배열 포인터 처리  (0) 2021.08.05
함수의 인자  (0) 2021.08.05
공용체와 열거체  (0) 2021.08.05
구조체  (0) 2021.07.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함