일반적으로 C언어에서, 지역 변수는 함수 내에서 존재하고, 함수가 종료되는 시점에 사라지게 된다.

이때 사라지지 않고 기존의 값을 보존하게 하기 위한 keyword 가 static 이다.


static keyword를 사용하면, 지역 변수가 함수 종료 때 사라지지 않고, 값을 보존하게 된다.


주의!!! static은 전역 변수에서 사용하여, 다른 파일에서 extern 해서 사용할 수 없다.

'Programming > C Language' 카테고리의 다른 글

Check the system's Endianness  (0) 2019.04.23
C progress printing  (0) 2018.08.07
가변 인자(variable arguments) stdarg.h  (0) 2017.12.11
extern  (0) 2017.06.21
static  (0) 2017.06.20

static Keyword


기본적인 C/C++ 프로그래밍에서 흔히 사용하는 키워드는 아니다.

하지만, Code 가 여러 파일로 구성되고, 여러 파일에서 서로 참조하고 왔다갔다하면서 부터 사용하게 되는 keyword 일 수 있다.


static 은 정적 변수라고 하는데, 

함수 내부에 선언하는 지역 변수는 그 지역이 사라지면서, 함께 사라지는데 이를 방지 하기 위한 keyword 이다.

함수 내부의 변수를 data type 앞에 static 을 붙여 선언하면, 메모리 위치에서 사라지지 않아, 

다음에 함수가 call 되더라도 이전 값을 유지하고 있다.

다만 여전히 지역 변수이기 때문에, 해당 함수에서만 읽고 쓸 수 있다.

static 으로 선언한 변수의 initialize 는 처음 한 번 만 실행 된다.

void function(){

static int a = 1;

print("%d\t", a);

a++;

}


int main(){

function(); //print result : 1

function(); //print result : 2

function(); //print result : 3

return 0;

}


'Programming > C Language' 카테고리의 다른 글

static  (0) 2018.07.13
가변 인자(variable arguments) stdarg.h  (0) 2017.12.11
extern  (0) 2017.06.21
Floating Point Bit 출력 방법  (0) 2017.06.08
전처리기 명령어  (0) 2017.06.07

+ Recent posts