함수안에서 지역변수를 사용할때 변수가 증가 하지 않는다.
#include <stdio.h>
//변수의 종류
// 1. 지역변수 (스택 영역)
// 2. 전역변수 (데이터 영역)
// 3. 정적변수 (데이터 영역)
// 4. 외부변수 (데이터 영역)
//메모리 영역
// 1. stack 영역
// 2. data 영역
// 3. heap 영역
// 4. 읽기 전용(코드, ROM)
// 전역변수
int global = 0; //Data 영역
//Data 영역 틍직
//프로그램 시작 시 생성
// 프로그램 종료 시 해제
void Test()
{
int n = 0;
++n;
}
int main()
{
Test(); //n = 1
Test(); //n = 1
Test(); //n = 1
return 0;
}
전역변수를 사용해서 함수를 실행하면 증가
#include <stdio.h>
int global = 0; //전역변수 선언
void Test();
int main()
{
Test(); // global = 1
Test(); // global = 2
Test(); // global = 3
global = 0; //메인함수에서 0으로 초기화도 가능
return 0;
}
void Test()
{
++global;
}
지역변수와 달리 데이터 영역에 저장됨으로 프로그램 종료시에 종료됨
'c & c++ > c언어 기초 개념' 카테고리의 다른 글
정적변수(static), 외부변수(extern) (0) | 2022.07.19 |
---|---|
분할구현 (0) | 2022.07.18 |
재귀함수(Recursive Function) (0) | 2022.07.18 |
Visual Studio 단축키 (0) | 2022.07.15 |
변수 (0) | 2022.07.14 |
댓글