Storage Class   기억 클래스, 저장 클래스

(2019-08-23)

C 언어 기억 클래스, Storage Class Specifier, 기억 클래스 지정자, 저장 유형 지정자

1. 자료형, 기억 클래스 비교자료형(char,int,float 등) : 자료의 연산 성격(문자열 처리,사칙연산 등)과 크기를 지정
  ㅇ 기억 클래스(auto,static,register등) : 자료의 위치,유효 범위(scope),유효 기간(lifetime) 지정


2. [C 언어]  기억 클래스 역할변수를 위한 기억장치 할당 관리의 효율화를 도모
     - 레지스터, 메모리, 스택 등 어디에 할당하느냐에 따라,
     - 변수의 유효범위(변수의 사용 범위),유효기간(변수의 생존 기간)이 달라지며,
     - 그에따라, 메모리효율적 관리가 가능해짐


3. [C 언어]  기억 클래스 구분                              ☞ Scope/Lifetime 참조

  ㅇ 유효기간(lifetime) : 메모리 할당 방식에 따른 구분
     - 정적 할당 : 프로그램 종료시까지 생존함
        . 정적 변수(static), 외부 변수(extern)
     - 동적 할당 : 변수선언된 블록이 끝나면 자동으로 소멸됨
        . 자동 변수(auto), 레지스터 변수(register)

  ㅇ 유효범위(scope) : 변수선언된 위치에 따라 구분
     - 지역 변수 : 블록 내부에서 선언변수로써, 해당 블록 내부에 만 한정됨
        . 자동 변수(auto), 레지스터 변수(register), 내부 정적 변수(inner static)
     - 전역 변수 : 블록밖에서 선언변수로써, 선언된 이후부터 전체에 걸쳐 사용 가능
        . 외부 정적 변수(extern static), 외부 변수(extern)


4. [C 언어]  기억 클래스 지정자 (storage class specifier)

  ㅇ auto : 자동 변수
     * 함수나 블록 내부에서 만 선언/사용되는 가장 일반적인 변수로서,
        . 지정자 auto 생략 가능
     - (할당방식) 동적 할당
     - (기억장소) 스택
     - (유효범위) 블록 내부
     - (유효기간) 블록 내부

  ㅇ register : 레지스터 변수
     * 요즈음에는 컴파일러가 알아서 CPU 레지스터를 사용하므로 사용 빈도 거의 없음
     - (할당방식) 동적 할당
     - (기억장소) 레지스터
     - (유효범위) 블록 내부
     - (유효기간) 블록 내부

  ㅇ static : (내부) 정적 변수
     * 지역 변수는 기본적으로 동적 할당이지만, 
        . 지정자 static을 붙여서 정적 할당으로 변경 가능 등
     - (할당방식) 정적 할당
     - (기억장소) 메모리
     - (유효범위) 블록 내부
     - (유효기간) 프로그램 종료시까지

  ㅇ static : (외부) 정적 변수
     - (할당방식) 정적 할당
     - (기억장소) 메모리
     - (유효범위) 변수 선언 이후부터 프로그램 전체
     - (유효기간) 프로그램 종료시까지

  ㅇ extern : 외부 변수
     - (할당방식) 정적 할당
     - (기억장소) 메모리
     - (유효범위) 외부 파일을 포함한 프로그램 전체
     - (유효기간) 프로그램 종료시까지

  ㅇ volatile 
     * 컴파일러가 volatile 변수에 관련된 문장최적화하지 말라는 지시어


[C 변수,상수,자료형] 1. C 변수 2. C 상수 3. C 자료형 4. C 형 변환 5. C 구조체 6. 기억 클래스 7. C 배열 8. C 문자열 9. C 공용체
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
              1. C 언어
              2. C 기초 문법
              3. C 연산자
          1.   C 언어 컴파일
          2.   C 변수,상수,자료형
            1.   1. C 변수
                2. C 상수
                3. C 자료형
                4. C 형 변환
                5. C 구조체
                6. 기억 클래스
                7. C 배열
                8. C 문자열
                9. C 공용체
          3.   C 함수
          4.   포인터
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌