“数组名代表的是数组所占存储区的首地址,其值不可改变 ”这句话什么意思?

如题所述

意思就是一维数组c++:int *p = new int[10];这个空间在不用时需要用户自己手动释放,要不内存会溢出。

一、变量在内存中是由若干个相邻的“房子”拼接而成的,而数组在内存中则是由若干个相邻的数组元素按顺序拼接而成的。每个数组元素又相当于一个变量。左图是一个大小为3的短整型(short)数组在内存中的情况。

二、在上一节的最后说到可以省略数组的大小,但是这样一来我们就无法得知数组的大小了,这将可能造成越界访问。当我们了解了数组在内存中的存储情况后,我们就能够知道数组的大小了。在C++中,有一个名为sizeof的操作符,可以求出一个数组或一种数据类型在内存中占了多少“房子”。

三、#include "iostream.h"
int main()
{
int array[]={3,5,6,8,7,9};
int size=sizeof(array)/sizeof(int);
cout <<"size="<<size <<endl;
for (int i=0;i<size;i++)
cout <<array[i] <<" ";
cout <<endl;
return 0;
}
运行结果:
size=6
3 5 6 8 7 9

温馨提示:答案为网友推荐,仅供参考
相似回答