c/c++에서 static으로 선언한 global 변수랑 그렇지 않은것이랑 차이점이 궁금합니다.
글쓴이: vudghkzm / 작성시간: 목, 2007/05/31 - 11:02오전
c/c++ 에서 아래의 코드에서 1번으로 선언하는 경우랑 2번으로 선언하는 경우랑 어떤 차이점이 있는지 궁금합니다.
static int i = 0; /* 1번 */ int j = 0; /* 2번 */ int main() { printf("%d\n", i); printf("%d\n", j); return 0; }
둘다 전역변수이지만, static이 붙느냐 그렇지 않느냐의 차이가 있는데요.
그 차이점이 궁금합니다.
Forums:
[code] [/code] 태그가 안 먹네요.
올바로 사용한거 같은데, code 태그가 안 먹네요..
태그는 < code >와 <
태그는 와 로 해야 되더군요.
--------------------------
`0-
-0`
--------------------------
`0-
-0`
i는 다른파일에서
i는 다른파일에서 접근이 안되요.
j는 가능
static을 위와 같이
static을 위와 같이 쓰는 이유는 보통 다른 소스 파일에서 같은 이름의 변수를 정의할 경우 링크 에러가 발생하지 않도록 하는 것입니다. C++이라면 아래와 같이 하시기를 권해드립니다.
댓글 달기