> 백엔드 개발 > C++ > C 프로그래밍에서 정적 메모리 할당이란 무엇을 의미합니까?

C 프로그래밍에서 정적 메모리 할당이란 무엇을 의미합니까?

王林
풀어 주다: 2023-09-14 15:21:01
앞으로
1059명이 탐색했습니다.

메모리는 다음 두 가지 방법으로 할당할 수 있습니다.

C 프로그래밍에서 정적 메모리 할당이란 무엇을 의미합니까?

정적 메모리 할당

정적 변수는 고정된 크기로 할당된 공간 블록에 정의됩니다. 한번 할당되면 해제할 수 없습니다.

프로그램에서 선언된 변수에 메모리를 할당합니다.

  • "&" 연산자를 사용하여 주소를 가져와 포인터에 할당할 수 있습니다.

  • 메모리는 컴파일 타임에 할당됩니다.

  • 스택을 사용하여 메모리의 정적 할당을 유지합니다.

  • 이런 종류의 할당에서는 메모리가 할당되면 메모리 크기를 변경할 수 없습니다.

  • 효율성이 떨어집니다.

변수의 최종 크기는 프로그램이 실행되기 전에 결정되는데, 이를 정적 메모리 할당이라고 합니다. 컴파일 타임 메모리 할당이라고도 합니다.

컴파일 시 할당된 변수의 크기는 변경할 수 없습니다.

예제 1

정적 메모리 할당은 일반적으로 배열에 사용됩니다. 배열을 예로 들어 샘플 프로그램을 만들어 보겠습니다.

Demonstration

#include<stdio.h>
main (){
   int a[5] = {10,20,30,40,50};
   int i;
   printf (&ldquo;Elements of the array are&rdquo;);
   for ( i=0; i<5; i++)
      printf (&ldquo;%d, a[i]);
}
로그인 후 복사

Output

Elements of the array are
1020304050
로그인 후 복사

Example 2

배열에 있는 모든 요소의 합과 곱을 계산하는 또 다른 예를 고려해 보겠습니다. −

Live Demonstration

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int array[5]={10,20,30,40,50};
   int i,sum=0,product=1;
   //Reading elements into the array//
   //For loop//
   for(i=0;i<5;i++){
      //Calculating sum and product, printing output//
      sum=sum+array[i];
      product=product*array[i];
   }
   //Displaying sum and product//
   printf("Sum of elements in the array is : %d</p><p>",sum);
   printf("Product of elements in the array is : %d</p><p>",product);
}
로그인 후 복사

출력

Sum of elements in the array is : 150
Product of elements in the array is : 12000000
로그인 후 복사

위 내용은 C 프로그래밍에서 정적 메모리 할당이란 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿