ホームページ  >  記事  >  バックエンド開発  >  C プログラミングにおいて、静的メモリ割り当てとは何を意味しますか?

C プログラミングにおいて、静的メモリ割り当てとは何を意味しますか?

王林
王林転載
2023-09-14 15:21:011008ブラウズ

メモリは次の 2 つの方法で割り当てられます。

C プログラミングにおいて、静的メモリ割り当てとは何を意味しますか?

静的メモリ割り当て

静的変数は、固定サイズの割り当てられたスペース ブロックで定義されます。 。一度割り当てられると解放することはできません。

プログラム内で宣言された変数にメモリを割り当てます。

  • 「&」演算子を使用してアドレスを取得し、それをポインターに割り当てることができます。

  • メモリはコンパイル時に割り当てられます。

  • スタックを使用してメモリの静的割り当てを維持します。

  • この種の割り当てでは、メモリが割り当てられると、メモリ サイズを変更できません。

  • #効率が低い。

変数の最終的なサイズは、プログラムの実行前に決定されます。これは静的メモリ割り当てと呼ばれます。コンパイル時のメモリ割り当てとも呼ばれます。

コンパイル時に割り当てられた変数のサイズを変更することはできません。

例 1

静的メモリ割り当ては通常、配列に使用されます。配列を例としてサンプル プログラムを実行してみましょう。

デモ

#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]);
}

出力

Elements of the array are
1020304050

例 2

配列を計算する別の例を考えてみましょう。 −

リアルタイム デモンストレーション

#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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。