記憶體可以透過以下兩種方式分配:
靜態變數定義在一個分配的空間區塊中,大小固定。一旦分配,就不能釋放。
程式中為宣告的變數分配記憶體。
可以使用「&」運算子取得位址並賦給指標。
內存在編譯時分配。
它使用堆疊來維護記憶體的靜態分配。
在這種分配中,一旦分配了內存,記憶體大小就不能改變。
效率較低。
變數的最終大小在程式運行之前確定,這被稱為靜態記憶體分配。也稱為編譯時記憶體分配。
我們無法更改在編譯時分配的變數的大小。
靜態記憶體分配通常用於陣列。讓我們以陣列為例進行一個範例程式:
示範
#include<stdio.h> main (){ int a[5] = {10,20,30,40,50}; int i; printf (“Elements of the array are”); for ( i=0; i<5; i++) printf (“%d, a[i]); }
Elements of the array are 1020304050
讓我們考慮另一個範例來計算陣列中所有元素的和與積−
即時示範
#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中文網其他相關文章!