当前位置:首页 > 内存 > 正文

c语言中数组所占内存

  • 内存
  • 2024-06-13 07:00:30
  • 8223

一、数组占多大内存

数组x在内存中占用的字节数为20。

数组在定义时就已经分配了内存。由于定义的数组x的内存空间长度为5,因此数组x在内存中占用的字节数为4*5,即20个字。节日。

另外,数组初始化intx[5]={0,2,4}就是对数组的前三个元素进行赋值,即x[0],x[1],x[2]按照0、2、4的顺序,最后两个元素被赋值为0,这意味着没有为它们分配空间。

高级信息

C语言中数组初始化分为以下几种情况:

intarray[10]={0,1,2,3,4,5,6,7,8,9};//定义数组时,初始化数组成员的值。

intarray[10]={3,7,9};//将数组的前三个数字赋值,其余元素设置为0。

intarray[10]={0};//将所有数字赋值为0。

intarray[]={1,2,3,4,5};//数组的长度由定义的数组元素决定。

intarray[10];//如果只定义了数组,则赋值时只能将值一一赋值给元素,无法对整个数组进行赋值。

参考来源:数组


二、C语言中如何计算一个数组占内存多少空间?

C语言中数组大小的值等于数组占用内存的字节数。

C中有一个sizeof运算符,专门用于检测类型、变量或数组在内存中占用了多少空间(字节数)。使用sizeof可以直接显示内存中一个组占用了多少字节的分区号。

语法规则为:sizeof(x);(也可以写成sizeofx;在没有歧义的情况下)-其中x是类型名、变量名、数组名等,返回x(int类型)所占用的字节数。

扩展信息:

使用sizeof的规则:

这里的基本数据类型是指内置的short、int、long、float、double等简单数据类型,因为它们都是与系统相关的,系统不同,所以尽量不要。在植入我们自己的程序时会出现这方面的问题。一般情况下,在32位编译环境下,sizeof(int)的值为4。

2.指针变量的大小:

指针大小的值变量与其所指向的对象没有任何关系Pointer,正是因为所有指针变量占用相同的内存量,所以MFC消息处理函数使用WPARAM和LPARAM两个参数来传递各种复杂的消息结构(使用指向结构的指针)。

参考来源:-卷