logo

글로벌 변수란 무엇입니까?

변수는 프로그램에 의해 제어될 수 있는 저장 영역에 할당된 이름입니다. 변수 유형은 변수 메모리의 크기와 구성을 지정합니다.

변수에 값을 삽입하기 전에 변수의 종류를 결정해야 하므로 변수에 삽입할 수 있는 값의 범위는 값을 삽입하기 전에 계산됩니다.

변수의 범위

변수의 범위는 말 그대로 변수의 수명입니다. 변수가 유효하거나 아직 살아있는 코드 블록입니다.

 function poo() { var a; } 

'a' 함수 내에서 'poo' 변수를 선언합니다. 해당 변수의 범위는 해당 함수 내에 유지되며 해당 함수 외부에서 사용할 수 없습니다.

프로그래밍에서 변수를 활용할 수 있는 세 가지 위치가 있습니다.

  • 함수나 블록 내부에서는 지역 변수라고 합니다.
  • 모든 함수 외부에서 사용되면 전역 변수로 명명됩니다.
  • 함수 매개변수 정의에 사용되면 형식 매개변수라고 합니다.

주요 차이점

  • 함수 내에서 선언된 변수를 지역변수, 함수 외부에서 선언된 변수를 전역변수라고 합니다.
  • 반면, 함수가 실행을 시작하고 함수가 끝나면 손실되는 경우, 전역 변수는 실행이 시작될 때 생성되고 프로그램이 끝나면 손실됩니다. 지역변수가 생성됩니다.
  • 로컬 변수에는 데이터 공유가 포함되지 않지만, 글로벌 변수에는 데이터 공유가 제공됩니다.
  • 지역 변수는 스택에 저장되고 전역 변수는 프로그래머가 고정된 위치에 저장됩니다.
  • 지역변수의 경우 매개변수가 필요하지만, 전역변수는 전달할 필요가 없습니다.
매개변수 현지의 글로벌
범위 함수 내부. 범위가 함수 외부에 있습니다.
값이 초기화되지 않으면 쓰레기 값이 제공됩니다. 값이 초기화되지 않으면 기본적으로 Zero가 제공됩니다.
일생 함수가 실행을 시작할 때 생성되고 함수가 종료되면 손실됩니다. 프로그램의 전역 실행이 시작되기 전에 생성되고 프로그램이 종료되면 손실됩니다.
데이터 공유 불가능합니다. 가능한.
매개변수 필수의. 필수는 아닙니다.
액세스한 사람 지역 변수 프로그램 전체에서 전역 변수에 접근할 수 있습니다.
메모리 저장 스택에. 컴퓨터가 지정한 고정된 위치에 있습니다.

지역 변수

로컬 변수는 프로그래밍 블록이나 서브루틴에서 선언된 변수의 형태로 지정됩니다. 지역 변수는 함수 블록이 실행되기 전에 지속됩니다. 그 이후에는 자동으로 사라집니다.

지역변수의 예

 public int sum(){ int x =4; int y=5; return x+y; } 

여기서 'x'와 'y'는 지역 변수입니다.

전역 변수

코드의 함수나 블록 외부에 지정되는 변수를 전역 변수라고 합니다. 이는 전 세계적으로 적용 가능하며 이는 프로그램의 수명 동안 관련성을 유지함을 의미합니다. 따라서 프로그램 내에 지정된 모든 기능은 숨겨진 경우를 제외하고 프로그램 내에서 해당 기능에 액세스할 수 있습니다.

글로벌 변수의 예

 int x =4; int y=5; public int add(){ return x+y; } 

여기서 'x'와 'y'는 전역변수이다.

전역 변수 사용의 장점

  • 전역 변수는 프로그램의 모든 함수나 모듈에서 액세스할 수 있습니다.
  • 모듈 외부에 일회용 전역 변수만 선언하면 됩니다.
  • 사용자가 프로그램 전체에서 동일한 데이터에 계속해서 액세스해야 할 때 사용됩니다.

전역 변수 사용의 단점

  • 너무 많은 변수가 전역으로 선언된 다음 프로그램 실행이 완료될 때까지 메모리에 유지됩니다. 이로 인해 메모리 부족 문제가 발생할 수 있습니다.
  • 모든 기능은 데이터를 변경할 수 있습니다. 프로그램에 작성된 모든 명령문은 전역 변수의 값을 변경합니다. 멀티태스킹 환경에서는 예상치 못한 결과가 발생할 수 있습니다.
  • 코드 리팩토링으로 인해 전역 변수가 중단되면 이름이 지정된 모든 모듈을 수정해야 합니다.

지역 변수 사용의 장점

  • 작업이 실행되는 동안 변수의 값은 변경되지 않고 유지된다는 것이 로컬 변수의 기본 의미입니다.
  • 동시에 실행되는 단일 변수가 여러 작업에 의해 변경되면 결과를 예측할 수 없습니다. 하지만 지역변수로 선언하면 해결됩니다.
  • 서로 다른 함수의 변수에 동일한 이름을 할당할 수 있습니다.
  • 함수가 실행되면 변수의 메모리가 해제됩니다.

지역 변수의 단점

  • 지역 변수의 디버깅 방법은 매우 까다롭습니다.
  • 모듈 간 데이터 공유가 불가능하므로 자주 사용되는 데이터를 정기적으로 전송해야 합니다.
  • 그들은 매우 작은 스펙트럼을 가지고 있습니다.

무엇이 더 유용합니까?

모든 언어로 프로그램을 작성할 때 똑같이 필수적인 로컬 및 전역 변수입니다. 그러나 전역 변수의 양이 많으면 엄청난 메모리를 차지할 수 있습니다. 전역 변수로의 원치 않는 전환을 정의하기가 점점 어려워지고 있습니다. 또한 원하지 않는 전역 변수를 발표하지 않는 것이 좋습니다.