C語言中如何計算一個數組占內存多少空間?


C語言中有一個專門用於檢測類型或變量或數組在內存中所占有的空間(字節數)的操作符sizeof,用它可以直接檢測出數組在內存占有的字節數。語法規則是:sizeof(x);(識別沒有歧義時也可寫成sizeof x;)——其中x是類型名、變量名或數組名等,返回x所占字節數(int型)。以下代碼可以幫助理解:

 1 #include "stdio.h"
 2 struct X{
 3     int d;
 4     float t;
 5     double b;
 6     char n[100];
 7 };
 8 int main(int argc,char *argv[]){
 9     int a[]={1,2,3,4,5,6,7,8,9,10};
10     double y=3.1415926;
11     struct X t[3]={{0,0.0f,0.0,""},};//結構體數組屬復雜類型
12     printf("10 elements of int array needs %d bytes.\n",sizeof a);//檢測整型數組
13     printf("Double variables of type need %d bytes.\n",sizeof(y));//double類型變量
14     printf("Type float need %d bytes.\n",sizeof(float));//float類型
15     printf("Structure array 't[3]' need %d bytes.\n",sizeof t);//檢測復雜類型
16     return 0;
17 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM