나는 C에서 정적 변수 주위에 내 머리를 정리하려고했는데 그래서 나는이 쓴 :C 정적 변수
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int *pointer;
void stat();
int main()
{
stat();
printf("%i", *pointer);
}
void stat()
{
int c = 2;
pointer = &c;
}
이 작업과 명령 줄에서 표시 2,하지만 난 이해하지 않습니다를 왜. function stat가 종료 될 때 int C가 존재하지 않습니까? 그러면 포인터가 가리키는 점은 무엇입니까? 그리고 정수의 값을 어떻게 유지합니까? 왜 여기서 정적으로 만들지 않고 할 수 있습니까?
'c '가 존재하지 않는다고해도, 메모리 공간이'c'에 포함 된 값을 저장하지 않는다는 의미는 아닙니다. 그러나 당신은 이것이 항상 사실이라는 것을 보증 할 수 없습니다. 포인터는 메모리의 해당 공간을 가리 킵니다. – AntonH