반응형
int aaa
1. 이 변수는 외부에서 접근이 가능한 변수이다.
2. 같은 이름의 전역 변수가 있으면 링크에러가 난다.
static int aaa
1. 현재 소스 파일에서만 접근 가능.
2. 여러 소스에서 같은 이름의 변수가 있어도 링크 에러가 안난다.
즉, 현재 소스파일에서만 사용할 목적으로 만들어진 변수 이다.
둘다 데이터 영역
간단히 보면 다른 파일에서의 사용 유무가 큰차이
aa.c에서 사용한 전역변수를 bb.c에서도 사용 가능
aa.c에서 사용한 Static변수를 bb.c에서는 사용 불가능
aa.c 에서 전역변수를 선언하고 bb.c에서 같은 이름의 전역변수 선언 -> 링크 에러
aa.c 에서 Static변수를 선언하고 bb.c에서 같은 이름의 Static변수 선언 -> 사용 가능
반응형
'C & C++ > C언어' 카테고리의 다른 글
[C] If문과 리턴값에서 사용되는 참과 거짓 (0, 1값 의미) (0) | 2019.10.31 |
---|---|
[C] 별찍기 코딩 / *프로그램 (0) | 2019.10.30 |
[C] union과 구조체의 차이 (0) | 2019.10.30 |
[C] 코드의 연산자 사용법 (0) | 2019.10.30 |
[C] Type의 갯수 / Char형 (0) | 2019.10.30 |