#include <Stdio.h>
void a1()
{
static int a;
}
int main(void)
{
int b=1;
a1();
printf("%d %d",a,b);
return 0;
}
이렇게 한다고 하면
왜 a가 선언되지 않았다는거야?
static이면 데이터 영역에 있으니까 불러올수잇어야하지않아?
정적은 외부 파일에서 못불러오는거지 같은 파일내에서는 불러와야할것 같은데 내가 잘못 이해한건가요?
아니 코드는 그냥 혹시 이해 못할가봐 참조한거고
간단하게 말해서 외부함수에서 static선언하고 main함수에서
그 함수를 선언한후 static 변수를 main에서 부르는데 왜안되냐는거지
코드는 그냥 말로 이해 안될까봐 참조한거고
깔끔하게 고쳐도 모를사람 태반일텐데 ㅅㅂ.
변수써논꼬라지바라
알려줄맘에 들어왓으나 코드꼬라지보고 안알랴줌
지역적
ㅅㅂ 저거 머라 쓴거냐...읽을 맘도 안난다
아니 그냥 외부함수에 static 썻는데 왜 main에서 안되냐는거지
내가쓴글...보셈
스태틱이 메모리에 올라기 있다하더라도 메인에서 못찾는다...이건 함수 스코프에 대해 공부하도록.. 메인에 a라는 변수를 정의 하지도 않았잔냐...변수 스택구조 그려봐라..아님 너가 짜고 gdb로 어셈까보던가.
스코프 때문에 못찾어 쉽게 말하면