[ C ] Static Keyword

2018. 9. 11. 11:45언어별 정리 자료/C, CPP

[ C ] Static Keyword



    Static 키워드는 C언어에서의 모듈화를 도와주는 키워드이다. 키워드가 존재하는 컴파일 스코프에서만 그 함수/변수 등이 유효하게 해 주는 키워드이다.
* 컴파일 스코프 : 하나의 함수 내부 혹은 script 내부를 의미.

#1-1 변수에 붙은 static keyword

- 지역변수와 전역변수의 성질을 모두 가지고 있음.
- 초기화하지 않으면 0 으로 초기화 됨. ( 항상 )
- 선언된 함수 내에서만 사용 가능, 프로그램이 종료 될 때까지 메모리 공간에 존재함.
- 해당 함수가 return 을 만나 끝나더라도, 메모리 공간에 계속 존재.

#1-2 사용 예시

- 함수 내부에 유지 시켜야 하는 값이 있을 경우 : 데이터가 들어온 순서 ( Sequence 값 ) 등과 같이 함수의 인자로 넘겨 주기엔 인자가 너무 많을 경우에 내부에서 유지.
- 전역변수로 사용하는 변수가 다른 script에서 사용하는 경우 : 해당 script 에서 쓰는 map 변수가 다른 script에서도 쓰일 경우.

#2-1 함수에 붙은 static keyword

- 해당 스크립트 내에서만 사용 가능.
- 다른 스크립트의 함수와 이름이 겹칠 때 씀.

#2-2 사용 예시 

: 객체 지향 언어들의 특성인 overloading 을 생각하면 쉽다.

- 여러가지 방법으로 map 을 만드는 script를 만들 때, 각 script 별로 makeMap() 함수를 다르게 만들고 overload 하는 느낌으로 사용.

'언어별 정리 자료 > C, CPP' 카테고리의 다른 글

[C] C언어로 쓴 파일 CPP로 변환하기  (0) 2018.07.18