728x90
c언어 변수에 대해 알아보겠습니다.
지역변수, 전역변수 외에도 static변수와 register변수도 있습니다.
1.지역변수 [Local Variable]
- 간단히 함수내에 선언된 변수라 보시면 됩니다.
지역변수는 함수가 호출될 대 메모리상에 존재했다가, 함수가 종료되면 메모리상에서 삭제됩니다.
한번만 실행되고 삭제될 수도, 해당 함수가 호출될 때마다 존재할 수도 있습니다.
지역변수는 다른 함수내(fn함수) 라면 변수명이 같아도 상관 없습니다.
아래 코드와 같은 차이입니다.
#include <stdio.h>
int myVar; //<------전역변수
int a;
int main()
{
int a = 1; //<------지역변수
return 0;
}
int fn()
{
int a = 1;
return 0;
}
2.전역변수[Global Variable]
-이름 그대로 프로그램 어디에서나 접근이 가능한 변수입니다.
전역변수는 프로그램이 시작과 동시에 메모리상에 저장되며 프로그램이 종료될 때까지 계속 존재하게 됩니다.
아래와 같이 main함수랑 fn함수내에서 전역변수인 myVar에 접근이 가능합니다.
#include <stdio.h>
int myVar = 99; //<------전역변수
int main()
{
printf("여기서 접근 %d" , myVar);
int a = 1; //<------지역변수
return 0;
}
int fn()
{
printf("여기에서도 접근%d" , myVar);
return 0;
}
반응형
'배워보자!! > c언어' 카테고리의 다른 글
[c언어] c언어 배열 선언하기! (0) | 2015.04.14 |
---|---|
[c언어] c언어 static변수, register변수란? (0) | 2015.04.14 |
[c언어] c언어 함수 사용법! (계산기 만들기) (0) | 2015.04.13 |
[c언어] switch 문 쓰는 법! (0) | 2015.04.13 |
[c언어] continue문 / break문 쓰는 법! (0) | 2015.04.12 |
댓글