로컬 범위
로컬 범위는 블록 내에 정의된 변수가 해당 블록에서만 표시되고 블록 외부에서는 보이지 않도록 지정합니다.
전역 범위
전역 범위는 블록 외부에 정의된 변수가 프로그램 끝까지 표시되도록 지정합니다.
예시
#include<stdio.h>
int r= 50; /* global area */
main (){
int p = 30;
printf (“p=%d, r=%d” p,r);
fun ();
}
fun (){
printf (“r=%d”,r);
} 출력
p =30, r = 50 r = 50
기능과 관련된 범위 규칙
-
함수는 특정 작업을 수행하는 명령문 블록입니다.
-
함수 본문 내에서 선언된 변수를 지역 변수라고 합니다.
-
이러한 변수는 변수를 생성하는 특정 함수 내부에만 존재합니다. 다른 기능과 주요 기능에도 알려지지 않음
-
함수가 특정 작업을 완료하고 호출 지점으로 돌아갈 때 지역 변수의 존재가 종료됩니다.
예시
#include<stdio.h>
main (){
int a=10, b = 20;
printf ("before swapping a=%d, b=%d", a,b);
swap (a,b);
printf ("after swapping a=%d, b=%d", a,b);
}
swap (int a, int b){
int c;
c=a;
a=b;
b=c;
} 출력
Before swapping a=10, b=20 After swapping a = 10, b=20
함수 본문 외부에 선언된 변수를 전역 변수라고 합니다. 이러한 변수는 모든 함수에서 액세스할 수 있습니다.
예시
#include<stdio.h>
int a=10, b = 20;
main(){
printf ("before swapping a=%d, b=%d", a,b);
swap ();
printf ("after swapping a=%d, b=%d", a,b);
}
swap (){
int c;
c=a;
a=b;
b=c;
} 출력
Before swapping a = 10, b =20 After swapping a = 20, b = 10