본문 바로가기

c&c++

전역변수 vs. 지역변수

해당 함수(지역) 내에서는 지역변수로의 접근이 이뤄진다

 

 

#include<stdio.h>

int Add(int val);
int num = 1; //전역변수 선언

int main(void)
{
int num = 5;

printf("add num: %d \n", Add(3));       //여기서는 함수Add를 호출하여 함수 결과를 return하기 때문에 

                                                     전역변수 1이 쓰이는 것도 아니고, main함수에서 다시 정의한 5가 쓰이는 것도

                                                     아니다. Add함수 내의 연산 결과가 return될 뿐이다.
printf("main num: %d \n", num+9);

return 0;
}

int Add(int val)
{
int num = 9;    //특정 함수 내의 지역변수 선언
num += val;    //val은 뭔데?: add함수 호출을 위해 전달받는 인자 값!
                    //add(3)이면 num==9; 이렇게 되는 것임!
return num;
}

'c&c++' 카테고리의 다른 글

재귀함수의 개념  (0) 2021.09.30
static 선언을 추가한 지역변수 (+register변수)  (0) 2021.09.30
break는 '반복문'을 탈출한다  (0) 2021.09.26
strcmp함수 구현해보기  (0) 2021.09.15
scanf함수 이야기  (0) 2021.09.14