Static 변수의 특징

  • 다른 변수와 마찬가지로 해당하는 가장 윗 부분에 선언된다.
  • 전역 변수 처럼 '0' 으로 초기화 된다.
  • 함수가 끝나도 해당 값이 파괴되지 않는다.
  • 저장되는 메모리 영역은 전역 변수가 저장되는 정적 데이터 영역
  • 지역변수와 마찬가지로 해당 함수 안에서만 사용이 가능하다.

Static 변수의 특징을 잘 알아볼 수 있는 예제를 이용하여 정확히 파악

#include <stdio.h>

void printCount(void);

int main(void)
{
    int i;

    for(i = 0; 10 >= i; i++)
    {
        printCount();
    }
    
    return 0;
}

void printCount(void)
{
    static int i;

    printf("%d\n", i);
    i = i + 1;
    
    return;
}

함수 printCount 안의 변수인 i는 함수가 종료되어도 파괴되지 않고 값을 유지하고 있다. 



전역변수에서 static을 선언해 주면 다른 파일에서 해당 변수를 extern으로 건다해도 참조 할 수 없다.


저작자 표시
신고

'컴퓨터 언어 > C' 카테고리의 다른 글

pThread를 이용한 Thread  (0) 2013.03.05
Static 변수  (0) 2013.02.25
메세지 기법  (0) 2013.01.16
배열의 이름은 첫번째 원소의 주소이다.  (0) 2012.12.20
문자열, 그것은 배열.  (2) 2012.06.11
Makefile을 작성하자.  (2) 2012.06.10