지역 정적 변수는 변수가 선언된 곳에서 함수 호출로 수명이 끝나지 않습니다. 완전한 프로그램의 수명까지 연장됩니다. 모든 함수 호출은 로컬 정적 변수의 동일한 복사본을 공유합니다.
이 변수는 함수가 호출된 횟수를 계산하는 데 사용됩니다. 정적 변수의 기본값은 0입니다. 반면에 일반 로컬 범위는 블록 내에 정의된 변수가 해당 블록에서만 표시되고 블록 외부에서 보이지 않도록 지정합니다.
블록 외부에 있는 전역 변수는 프로그램 끝까지 볼 수 있습니다.
예시
다음은 지역 변수에 대한 C 프로그램입니다 -
#include<stdio.h>
main ( ){
int a=40 ,b=30,sum; //local variables life is within the block
printf ("sum=%d" ,a+b);
} 출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
sum=70
예시
다음은 전역 변수에 대한 C 프로그램입니다 -
int c= 30; /* global area */
main ( ){
int a = 10; //local area
printf ("a=%d, c=%d", a,c);
fun ( );
}
fun ( ){
printf ("c=%d",c);
} 출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
a =10, c = 30
예시
다음은 로컬 정적 변수에 대한 C 프로그램입니다 -
#include <stdio.h>
void fun(){
static int x; //default value of static variable is 0
printf("%d ", a);
a = a + 1;
}
int main(){
fun(); //local static variable whose lifetime doesn’t stop with a function
call, where it is declared.
fun();
return 0;
} 출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
0 1