数组在内存中所占字节数可以使用sizeof操作符来计算,该操作符是专门用于检测类型或变量或数组在内存中所占有的空间(字节数);语法“sizeof(x)”,其中x是类型名、变量名或数组名等,可以返回x所占字节数。

本教程操作环境:windows7系统、c99版本、Dell G3电脑。

相关推荐:C语言视频教程

C语言中计算一个数组占内存多少空间(字节数)

C语言中有一个专门用于检测类型或变量或数组在内存中所占有的空间(字节数)的操作符sizeof,用它可以直接检测出数组在内存占有的字节数。

语法规则是:

sizeof(x);//识别没有歧义时也可写成:sizeof x;

参数:x是类型名、变量名或数组名等,

返回值:返回x所占字节数(int型)。

以下代码可以帮助理解:

#include "stdio.h"struct X{    int d;    float t;    double b;    char n[100];};int main(int argc,char *argv[]){    int a[]={1,2,3,4,5,6,7,8,9,10};    double y=3.1415926;    struct X t[3]={{0,0.0f,0.0,""},};//结构体数组属复杂类型    printf("10 elements of int array needs %d bytes.\n",sizeof a);//检测整型数组    printf("Double variables of type need %d bytes.\n",sizeof(y));//double类型变量    printf("Type float need %d bytes.\n",sizeof(float));//float类型    printf("Structure array 't[3]' need %d bytes.\n",sizeof t);//检测复杂类型    return 0;}

更多编程相关知识,请访问:编程教学!!

更多相关文章

  1. golang中的int占几个字节
  2. golang中定义不定长数组的方法
  3. golang rune几个字节
  4. golang判断数组是否为空的方法
  5. golang如何删除数组中的元素
  6. golang数组与切片的区别是什么?
  7. golang数组和切片的区别是什么
  8. golang 数组存的是什么
  9. golang怎么判断数组是否为空

随机推荐

  1. c语言根号函数是什么
  2. c语言大于等于怎么打?
  3. c程序中宏展开是在什么时候进行的?
  4. 用C语言指针如何求最大值最小值
  5. c++定义数组的方法
  6. c语言中%是什么意思
  7. C语言程序的模块化通过什么实现
  8. c语言标识符有哪三类?
  9. c语言fopen打开文件失败的原因是什么?
  10. c语言如何求最大公约数和最小公倍数?