首頁  >  文章  >  後端開發  >  在C程式設計中,靜態記憶體分配是什麼意思?

在C程式設計中,靜態記憶體分配是什麼意思?

王林
王林轉載
2023-09-14 15:21:011008瀏覽

記憶體可以透過以下兩種方式分配:

在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

Example 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除