티스토리 뷰

728x90

C/C++ 코딩하다 보니 Static 변수가 나오는 것을 알 수 있었다.

해당 변수는 어떤 역할을 하는 것일까?

 

일단, '정적'이라는 말은 '동적'이라는 단어와 반대가 되고, 뜻으로는 한번 정하면 변하지 않는 것.

여기서 중요한게 '한번' 이다.

 

다들 알다시피 C/C++에서 지역변수, 전역변수가 존재하는 것은 알것이다.

정적변수는 지역변수 + 전역변수를 합쳐놓은 것이다.

 

1. 지역변수 처럼 선언된 Block에서 실행됨

2. 전역변수 처럼 '한번'만 초기화됨 

 

예를 한번 살펴보자 

위 코드를 살펴보면, local함수에 있는 count는 지역변수이기때문에 local 함수를 불러올때마다 1로 초기화 된다.

 

반면에 staticVar의 count는 static 변수이기때문에 위에서 말했던 것처럼, 전역변수처럼 한번만 초기화 되는 것이다.

즉, staticVar를 여러번 수행하더라도, static변수 count는 1로 초기화 하지 않는다.

 

하지만, 전역변수와 다르게 해당 함수안에서만 사용할 수 있다. ( 어디서든지 사용하는건 불가능하다 )

 

 

추가적으로 지역/전역/정적 변수에 관련된 자료를 하나 첨부한다.

( 출처 : https://www.tcpschool.com/c/c_function_variableScope )

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 31
글 보관함