본문 바로가기

C

[C언어] 변수

반응형

변수 : 변수의 존재 기간 또는 접근 범위에 따라서 전역변수와 지역변수로 구분한다.

 1. 지역변수 : 함수 내에서만 접근이 허용되는 변수이다.

  - 중괄호({}) 내에 선언되는 변수는 모두 지역변수이다.

  - 지역변수는 해당 지역을 벗어나면 소멸한다.

  - 지역변수는 선언된 곳에서만 유효하기 때문에 지역이 다르면 이름이 같아도 상관없다.

 2. 전역변수 : 프로그램 내에서 모든 함수의 접근을 허용하는 변수이다.

 

#include<stdio.h>

int x = 10;        // 전역 변수
int disp(int a);   // 함수 선언
void disp1();

int main(){
   int x = 20;         // 지역 변수
   int y = disp(x);   // 함수 호출, Call By Value

   printf("main x = %d\n", x);   // 지역 변수 x
   printf("main y = %d\n", y);
   disp1();   // 함수 호출, Call By Name

   return 0;
}

int disp(int a){   // 함수 정의부
   return a;
}

void disp1(){
   printf("disp1() x = %d\n", x);   // 전역 변수 x
}

 


#include<stdio.h>

int func1(){
   int num = 10;

   num++;

   printf("func1 num = %d\n", num);
}

int func2(){
   int num = 10;

   num++;

   printf("func2 num = %d\n", num);   // func1에서의 num은 다른 함수에 영향을 주지 않는다.
}

int main(){
   int num = 15;

   func1();
   func2();

   printf("main num = %d\n", num);   // func1과 func2의 num은 main의 num에 영향을 주지 않는다.

   return 0;
}

 

반응형