정적 할당은 컴퓨터 프로그래밍에서 변수나 메모리 공간에 고정된 크기를 할당하는 방법입니다. 정적 할당은 프로그램이 실행되기 전에 할당이 이루어지고, 할당된 메모리 공간은 프로그램 실행 도중에 변경되지 않습니다. 정적 할당은 변수의 크기가 고정되어 있거나, 메모리 공간의 크기나 주소가 변경되지 않아야 할 때 많이 사용됩니다.
정적 할당의 장점
-
메모리 사용량 예측 가능: 정적 할당은 프로그램이 실행되기 전에 변수나 메모리 공간의 크기가 결정되므로, 메모리 사용량을 사전에 예측할 수 있습니다. 이를 통해 메모리 관리가 용이해지고, 메모리 부족으로 인한 오류를 줄일 수 있습니다.
-
빠른 접근 속도: 정적 할당된 변수나 메모리 공간은 주소가 고정되어 있기 때문에, 접근할 때마다 주소를 찾는 과정이 필요하지 않습니다. 따라서 정적 할당은 접근 속도가 빠르며, 프로그램 성능 향상에 도움을 줄 수 있습니다.
정적 할당의 단점
-
유연성 제한: 정적 할당은 프로그램 실행 도중에 크기나 주소를 변경할 수 없기 때문에, 변수나 메모리 공간의 크기가 변경되어야 할 경우에는 문제가 될 수 있습니다. 또한, 정적 할당된 메모리 공간이 할당량을 초과하는 경우에는 오류가 발생합니다.
-
메모리 낭비: 정적 할당은 변수나 메모리 공간의 크기를 사전에 결정해야 하므로, 최대 크기로 할당을 해야할 경우에는 메모리 낭비가 발생할 수 있습니다. 예를 들어, 정적 할당된 배열의 크기를 100으로 결정했지만 실제로는 10개의 값만 사용하는 경우에는 90개의 메모리가 낭비됩니다.
int main() {
int staticArray[100]; // 100개의 정수를 담을 수 있는 정적 배열 선언
// 정적 배열에 값 할당
for (int i = 0; i < 100; i++) {
staticArray[i] = i;
}
return 0;
}
#programming #staticallocation