내부 정적 변수와 외부 정적 변수의 사용에 대해 알아보는 프로그램
// 내부 정적 변수
#include <stdio.h>
void count(void);
int main(void)
{
int i;
for(i=1; i<=3; i++)
count();
}
void count(void)
{
int acnt=0;
static int stcnt=0;
acnt+=1;
stcnt+=1;
printf("auto count=%d, static count= %d\n", acnt, stcnt);
}
// 실행 결과
// 외부 정적 변수
#include <stdio.h>
static int gcnt;
void count(void);
int main(void)
{
int i;
for(i=1; i<=3; i++)
{
count();
gcnt+=1;
}
}
void count(void)
{
static int stcnt;
stcnt+=1;
gcnt+=1;
printf("local count=%d, global count=%d\n", stcnt, gcnt);
}
// 실행 결과
// 내부 정적 변수
#include <stdio.h>
void count(void);
int main(void)
{
int i;
for(i=1; i<=3; i++)
count();
}
void count(void)
{
int acnt=0;
static int stcnt=0;
acnt+=1;
stcnt+=1;
printf("auto count=%d, static count= %d\n", acnt, stcnt);
}
// 실행 결과
// 외부 정적 변수
#include <stdio.h>
static int gcnt;
void count(void);
int main(void)
{
int i;
for(i=1; i<=3; i++)
{
count();
gcnt+=1;
}
}
void count(void)
{
static int stcnt;
stcnt+=1;
gcnt+=1;
printf("local count=%d, global count=%d\n", stcnt, gcnt);
}
// 실행 결과
'공부 > c언어' 카테고리의 다른 글
[c언어] 문자열에 대해 자릿수를 맞추어 출력하는 프로그램 (0) | 2011.05.07 |
---|---|
[c언어] 레지스터 변수의 사용방법 (0) | 2011.05.04 |
[c언어] 자동변수에 대해 초기화를 하지 않을 경우의 문제 (0) | 2011.05.03 |
[c언어] 지역변수와 전역변수의 선언과 사용영역 (0) | 2011.05.03 |
[c언어](연습문제) 실행결과 예측 (1) | 2011.05.02 |