C static 키워드 이해
1600 단어 static
#include<stdio.h>
int count =1;
int fun(void)
{
static int count =10;
return count--;
}
int main(void)
{
printf("global\t\tlocalstatic
");
for(;count<=10;count++)
printf("%d\t\t%d
",count,fun());
return 0;
}
실행 결 과 는 다음 과 같다.
global localstatic
1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
만약 당신 이 위의 절 차 를 이해 했다 면 아래 의 문장 은 볼 필요 가 없습니다. 그렇지 않 으 면 계속 하 세 요.
static 는 c 에서 변 수 를 수식 할 수도 있 고 함 수 를 수식 할 수도 있다.
변 수 는 c 에서 존재 하 는 데이터 구역, 스 택 과 더미 로 나 눌 수 있 습 니 다. static 은 전체 변수 에 대한 수식 으로 나 눌 수 있 습 니 다. 이 변 수 를 참조 하 는 것 만 제한 한 것 으로 볼 수 있 습 니 다.어떤 프로그램 은 많은 c 파일 로 구성 되 어 있다.서로 변 수 를 참조 할 수 있 지만 static 수식 을 추가 하면 이 파일 의 함수 에 만 이 변 수 를 참조 할 수 있 습 니 다.static 스 택 변수 에 대한 수식 은 스 택 변수의 수명 주기 가 프로그램 실행 이 끝 날 때 까지 연장 되 었 다 고 볼 수 있 습 니 다.일반적으로 스 택 변수의 생명 주 기 는 OS 에 의 해 관리 되 고 스 택 을 탈퇴 하 는 과정 에서 스 택 변수의 생명 도 끝 납 니 다.그러나 static 수식 을 추가 한 후 변 수 는 스 택 에 저장 되 지 않 고 전역 변수 와 함께 저 장 됩 니 다.또한, 함 수 를 정의 한 후에 사용 할 수 없 지만, 함 수 를 다시 호출 할 때, 함 수 를 계속 사용 할 수 있 으 며, 지난번 호출 된 후에 남 긴 값 을 저장 합 니 다.static 의 함수 에 대한 수식 은 전역 변수 에 대한 수식 과 비슷 하 며, 이 파일 의 함수 에 의 해 만 호출 될 수 있 으 며, 같은 프로그램의 다른 파일 의 함수 에 의 해 호출 될 수 없습니다.
이렇게 되면 위의 절 차 는 이해 하기 어렵 지 않 겠 지?
그러나 저 는 데이터 영역 에 똑 같이 놓 인 두 개의 동명 변수 (예 를 들 어 상례 의 count) 가 어떻게 관리 되 는 지 잘 모 르 겠 습 니 다.기술 이 부족 해서 머리 가 크 네......................................................
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다트 타이핑 💫 🌌 ✨Dart, tip kontrolünü iki farklı zamanda gerçekleştirir: • Kod derlendiğinde (kod yeniden yüklenir/veya önceden derlenir)...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.