로컬 범위
로컬 범위는 블록 내에 정의된 변수가 해당 블록에서만 표시되고 블록 외부에서는 보이지 않도록 지정합니다.
전역 범위
전역 범위는 블록 외부에 정의된 변수가 프로그램 끝까지 표시되도록 지정합니다.
예시
#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