산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C - 범위 규칙

모든 프로그래밍에서 범위는 정의된 변수가 존재할 수 있고 해당 변수를 넘어서는 액세스할 수 없는 프로그램 영역입니다. C 프로그래밍 언어에서 변수를 선언할 수 있는 곳은 세 곳입니다. -

로컬이 무엇인지 이해합시다. 및 글로벌 변수 및 공식 매개변수.

로컬 변수

함수나 블록 내에서 선언된 변수를 지역 변수라고 합니다. 해당 함수 또는 코드 블록 내부에 있는 명령문에서만 사용할 수 있습니다. 지역 변수는 자신의 외부에 있는 함수에 알려져 있지 않습니다. 다음 예는 지역 변수가 어떻게 사용되는지 보여줍니다. 여기서 모든 변수 a, b, c는 main() 함수에 로컬입니다.

라이브 데모
#include <stdio.h>
 
int main () {

  /* local variable declaration */
  int a, b;
  int c;
 
  /* actual initialization */
  a = 10;
  b = 20;
  c = a + b;
 
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
 
  return 0;
}

전역 변수

전역 변수는 일반적으로 프로그램 상단에서 함수 외부에 정의됩니다. 전역 변수는 프로그램 수명 내내 값을 유지하며 프로그램에 정의된 모든 함수 내에서 액세스할 수 있습니다.

전역 변수는 모든 함수에서 액세스할 수 있습니다. 즉, 전역 변수는 선언 후 전체 프로그램에서 사용할 수 있습니다. 다음 프로그램은 프로그램에서 전역 변수를 사용하는 방법을 보여줍니다.

라이브 데모
#include <stdio.h>
 
/* global variable declaration */
int g;
 
int main () {

  /* local variable declaration */
  int a, b;
 
  /* actual initialization */
  a = 10;
  b = 20;
  g = a + b;
 
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
 
  return 0;
}

프로그램은 지역 변수와 전역 변수에 대해 동일한 이름을 가질 수 있지만 함수 내부의 지역 변수 값이 우선합니다. 다음은 예입니다 -

라이브 데모
#include <stdio.h>
 
/* global variable declaration */
int g = 20;
 
int main () {

  /* local variable declaration */
  int g = 10;
 
  printf ("value of g = %d\n",  g);
 
  return 0;
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

value of g = 10

형식 매개변수

형식 매개변수는 함수 내에서 지역 변수로 취급되며 전역 변수보다 우선합니다. 다음은 예입니다 -

라이브 데모
#include <stdio.h>
 
/* global variable declaration */
int a = 20;
 
int main () {

  /* local variable declaration in main function */
  int a = 10;
  int b = 20;
  int c = 0;

  printf ("value of a in main() = %d\n",  a);
  c = sum( a, b);
  printf ("value of c in main() = %d\n",  c);

  return 0;
}

/* function to add two integers */
int sum(int a, int b) {

   printf ("value of a in sum() = %d\n",  a);
   printf ("value of b in sum() = %d\n",  b);

   return a + b;
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30

로컬 및 글로벌 변수 초기화

지역 변수를 정의하면 시스템에서 초기화하지 않으므로 직접 초기화해야 합니다. 전역 변수는 다음과 같이 정의할 때 시스템에 의해 자동으로 초기화됩니다 -

데이터 유형 초기 기본값
int 0
문자 '\0'
플로트 0
더블 0
포인터 NULL

변수를 적절하게 초기화하는 것은 좋은 프로그래밍 방법입니다. 그렇지 않으면 초기화되지 않은 변수가 메모리 위치에서 이미 사용 가능한 일부 가비지 값을 사용하기 때문에 프로그램에서 예기치 않은 결과를 생성할 수 있습니다.


C 언어

  1. 시리즈 순회 규칙
  2. 병렬 회로 규칙
  3. 파생상품 규정
  4. 반도함수 규정
  5. C# 변수 및 (기본) 데이터 형식
  6. C# 변수 범위
  7. C++ 변수, 리터럴 및 상수
  8. C 변수, 상수 및 리터럴
  9. C 스토리지 클래스
  10. 자바 변수와 리터럴