정적 할당이란 무엇입니까?

컴퓨터 코드를 작성할 때 이해해야 할 것이 많습니다. 각 프로그래밍 언어는 고유한 구문 및 구조 세트와 함께 다릅니다. 많은 프로그래밍 언어에서 공통적으로 나타나는 것 중 하나는 변수를 설정해야 한다는 것입니다. 변수는 나중에 참조할 수 있는 방식으로 데이터를 저장합니다.

무엇보다도 텍스트 문자열, 숫자 또는 데이터 배열과 같은 다양한 값을 변수에 할당할 수 있습니다. 많은 언어에서는 예를 들어 숫자로만 제한하는 변수에 저장할 데이터 유형을 선언해야 합니다.

프로그래밍 언어 간에 다른 점은 변수의 할당 유형을 선언해야 한다는 것입니다. 일부 언어는 이것을 요구하지 않지만 다른 언어는 엄격합니다. 정적 및 동적의 두 가지 기본 할당 유형이 있습니다.

정적 대 동적

정적 변수는 응용 프로그램이 실행되기 전에 크기가 결정되는 변수입니다. 컴파일러에 의해 컴파일 타임에 설정됩니다. 예를 들어, 명확한 길이를 갖는 문자열을 정의할 수 있습니다. 그런 다음 긴 문자열을 저장하는 데 필요한 메모리 공간이 컴파일러에 의해 정적으로 할당됩니다.

대안은 동적 할당입니다. 여기서 변수의 크기는 프로그램이 실행될 때 설정됩니다. 이 프로그램에는 변수에 할당된 메모리 양을 조정하는 논리가 포함되어 있어 시간이 지남에 따라 더 많거나 적은 공간이 필요한 경우 변경할 수 있습니다. 이것은 일반적으로 정적 할당보다 메모리 사용에 더 많은 유연성을 제공하지만 약간의 성능 비용이 발생합니다. 동적 할당의 주요 이점 중 하나는 필요할 때까지 할당할 필요가 없다는 것입니다. 프로그램이 계속 실행 중이더라도 메모리가 더 이상 필요하지 않으면 메모리를 해제할 수 있습니다.

정적으로 할당된 변수는 메모리에 영구적으로 저장됩니다. 프로그램이 변수에 저장된 값을 변경할 수 없다는 의미는 아닙니다. 대신 변수가 차지하는 메모리의 양을 절대 변경할 수 없음을 의미합니다. 변수를 큰 값에서 작은 값으로 변경하더라도 이제 불필요한 메모리 공간을 해제할 수 없습니다. 또한 사용 가능한 공간을 늘릴 수 없습니다. 변수가 가변 길이 사용자 입력을 저장하려는 경우 문제가 될 수 있습니다.

함수 및 서브루틴

정적 변수는 힙이 아닌 스택에 저장됩니다. 즉, 생성된 인스턴스에서 계속 사용할 수 있습니다. 프로그램 본체에 정적으로 할당된 변수는 응용 프로그램이 실행되는 전체 시간 동안 유효하고 메모리에 유지됩니다. 이는 애플리케이션의 스택이 항상 존재하기 때문입니다. 별도의 함수나 클래스가 호출되면 정적으로 할당된 새 변수를 저장할 수 있는 스택에서 레코드를 가져옵니다. 이러한 변수에 대한 메모리는 클래스가 닫히면 레코드가 스택에서 제거되므로 해제될 수 있습니다.

결론

정적 할당은 변수에 대한 메모리 공간을 할당하는 것입니다. 컴파일러는 컴파일 시간에 필요한 공간의 양을 잠급니다. 변수의 값은 변경될 수 있지만 할당된 공간의 양은 변경할 수 없습니다. 이 제한은 필요하지 않은 경우 공간이 확보되는 것을 방지합니다. 또한 필요한 경우 더 많은 공간을 사용할 수 없도록 합니다. 정적 할당은 동적 할당보다 성능 이점이 있지만 유연성이 떨어집니다. 일반적으로 정적 및 동적 변수는 둘 다 이점을 제공하므로 사용됩니다.



Leave a Comment

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 충전되지 않으면 다른 전원 소스를 사용하고 귀마개를 청소하세요. 귀마개를 충전하는 동안 케이스를 열어 두세요.

3D 프린팅 기본: 필수 유지보수 체크리스트

3D 프린팅 기본: 필수 유지보수 체크리스트

장비를 좋은 상태로 유지하는 것은 필수입니다. 다음은 3D 프린터를 최상의 상태로 유지하기 위한 유용한 팁입니다.

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220에서 잉크가 없을 때 스캔을 활성화하는 방법입니다.

노트북 과열의 5가지 이유

노트북 과열의 5가지 이유

노트북이 과열되는 몇 가지 가능한 이유와 이 문제를 피하고 장치를 시원하게 유지하는 팁과 요령을 알아보세요.

데스크탑 및 노트북 PC에 SSD 설치하는 방법

데스크탑 및 노트북 PC에 SSD 설치하는 방법

PC의 내부 저장 공간을 업그레이드하기 위해 SSD를 구입했지만 설치 방법을 모르겠습니까? 지금 이 기사를 읽어보세요!

GeForce Now 오류 코드 0xC272008F 수정 방법

GeForce Now 오류 코드 0xC272008F 수정 방법

게임의 밤을 준비하고 있으며, "Star Wars Outlaws"를 GeForce Now 스트리밍 서비스에서 플레이하려고 합니다. Ubisoft 게임을 다시 시작할 수 있도록 GeForce Now 오류 코드 0xC272008F를 수정하는 방법을 알아보세요.

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린터를 효과적으로 유지하는 것은 최상의 결과를 얻는 데 매우 중요합니다. 기억해야 할 중요한 팁을 소개합니다.

프린터의 IP 주소 찾는 방법

프린터의 IP 주소 찾는 방법

프린터의 IP 주소를 찾는 데 어려움이 있습니까? 우리는 그것을 찾는 방법을 보여줄 것입니다.

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에 AirPods 구입 여부를 고민하고 있다면, 이 가이드가 도움이 될 것입니다. 가장 간단한 질문은 호환성 여부입니다.

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.