지역 정적 변수는 변수가 선언된 곳에서 함수 호출로 수명이 끝나지 않습니다. 완전한 프로그램의 수명까지 연장됩니다. 모든 함수 호출은 로컬 정적 변수의 동일한 복사본을 공유합니다.
이 변수는 함수가 호출된 횟수를 계산하는 데 사용됩니다. 정적 변수의 기본값은 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