같은 전역변수인데 차이점은..
다옴
2023.04.01
질문 제목 : 질문 내용 :
1.번은
int i = 20;
intgetint(){
return i;
}
2번은
static int i = 30;
int getint(){
return i;
}
둘다 전역변수인데 static 없는거랑 있는거 차이점은 멀까요?
제가 알기로는 1번은 다른파일에서 extern 예약어를 이용해서 extern int i; 해놓으면 20을 불러올수 있는데
2번은 에러나네요.
extern 아니더라도 1번이랑 2번은 별차이 없어보이는데 2번 같은경우는 다른파일에서 불러오는 경우가아니면 쓸수 있는데 왜 static 넣어야 하는지 궁금합니다.
-
돋되다
외부 static 은 은닉이 목적입니다.