■ extern - 다른 파일에 해당 변수(또는 함수)가 존재할 것이라고 가정을 주는 선언
- 실제로 변수가 선언되면서 메모리를 차지하는 것이 아니다
- 해당 변수가 다른 파일에 있을 것이라는 extern 선언만으로 컴파일 가능 ( 링크는 X )
■ static ( Local ) - 지역 변수에 붙이는 static
- 다른 블록이나 함수에서 사용할 수 없다 ( 지역변수의 특성)
- 지역 변수의 특성을 갖되, 기억부류는 전역변수 ( DATA 또는 BSS)
- 프로그램이 실행되는 동안 메모리에 상주, 블록을 벗어나도 값을 유지 ( 전역 변수의 특성)
■ static ( Global ) - 전역 변수에 붙이는 static
- 파일 내에서만 사용하는 전역 변수로 지정
- 다른 파일에서 같은 이름의 전역 변수를 선언하면 1개만 할당되고 나머지는 extern
- 그러나 static 을 붙이면 그 파일에서 사용 가능한 별개의 변수가 된다.
- http://unabated.tistory.com/entry/static-%EC%A0%84%EC%97%AD-%EB%B3%80%EC%88%98
(참고 사이트)
반응형
'잡다한 IT > 참고용' 카테고리의 다른 글
텐서플로우 arg_max 함수 (0) | 2018.08.07 |
---|---|
질적자료 & 양적자료 (0) | 2018.08.07 |
쉘 스크립트 공부 사이트 (0) | 2018.07.19 |
컴파일 과정 (0) | 2018.07.10 |
volatile , restrict (0) | 2018.07.09 |