MY MEMO
[C] 개념 다지기 - static, extern 본문
C언어에서 static은 변수를 사용할 수 있는 범위를 그 파일 안으로 한정하는 것이다.
예를 들어 위와 같이 있다면
현재 int count는 전역변수이고
function()안에 있는 static int count는 function안에서 사용되는 정적 변수이다.
이 변수는 코드를 실행할 때 한번 초기화 되고 다시 이 변수를 초기화한 코드를 만나더라도 다시 초기화되지 않는다.
이는 함수에서도 적용된다.
만약 같은 이름의 함수를 사용해야한다면
여러 파일에 이름이 같은 함수를 여러개 정의한다면 오류가 발생한다.
하지만
함수 앞에 static을 사용해준다면 그 파일 안에서만 사용 가능하기 때문에 오류가 발생하지 않는다
A.c
B.c
만약 두개의 코드가 있다고 하자.
B 파일의 index 변수를 사용하고 싶은데
static으로 정의하면 파일에 한정되고
int로 정의하면 그 파일 내에서 전역이다
이럴때 index을 extern을 이용한다면
밖에 있는 변수를 가져온다는 뜻이 된다.
+) extern static int variable =0;
은 맞지 않는 문법이다.
'STUDYING > C' 카테고리의 다른 글
[C] 개념 다지기 - Union (0) | 2017.10.01 |
---|---|
[C] 개념 다지기 - linked list (0) | 2017.10.01 |
[C] 기초 개념 다지기 - array (0) | 2017.10.01 |
[C] 개념 다지기 - struct, Overloading (0) | 2017.10.01 |
[C] 개념 다지기 - pointer (0) | 2017.10.01 |
Comments