C++中关于[]静态数组和new分配的动态数组的区别分析
本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加深对C++语言数组的理解。具体区别如下: 一、对静态数组名进行sizeof运算时,结果是整个数组占用空间的大小; 因此可以用sizeof(数组名)/sizeof(*数组名)来获取数组的长度。 int a[5]; 则sizeof(a)=20,sizeof(*a)=4.因为整个数组共占20字节,首个元素(int型)占4字节。 int *a=new int[4];则sizeof(a)=sizeof(*a)=4,因为地址位数为4字节,int型也占4字节。 二、静态数组作为函数参数时,在函数内对数组名进行sizeof
下载地址
用户评论