Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그래밍에서 함수에 대한 범위 규칙은 무엇입니까?

<시간/>

로컬 범위

로컬 범위는 블록 내에 정의된 변수가 해당 블록에서만 표시되고 블록 외부에서는 보이지 않도록 지정합니다.

전역 범위

전역 범위는 블록 외부에 정의된 변수가 프로그램 끝까지 표시되도록 지정합니다.

예시

#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