반응형
변수 : 변수의 존재 기간 또는 접근 범위에 따라서 전역변수와 지역변수로 구분한다.
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;
}
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 두 개의 정수를 입력받은 후, 큰 수 출력하기 (함수) (0) | 2021.03.08 |
---|---|
[C언어] 실습: swap 함수 구현하기 (0) | 2021.03.07 |
[C언어] 실습: 점수를 입력받은 후, 총점 및 평균 계산하기 (다차원 배열) (0) | 2021.03.04 |
[C언어] 다차원 배열 (0) | 2021.03.03 |
[C언어] 실습: 10진수를 입력하면 2진수로 출력하기 (0) | 2021.03.02 |