读书人

关于sizeof的有关问题,愿大家帮忙解决

发布时间: 2012-02-09 18:22:27 作者: rapoo

关于sizeof的问题,愿大家帮忙解决一下
请大家看以下程序:

C/C++ code
#include <iostream>using std::cout;using std::endl;int main(){    int *a=new int[10];        cout<<sizeof (*a)<<endl;    return 0;}

我的目的是想输出堆里面的分配的空间大小,可此程序始终输出4 ?要怎么写才可以输出我希望的40呢?(假如int占4字节)

[解决办法]
没有办法

[解决办法]
你让他显示的是指针的内存大小,显然就是4
把他们叠加就是40了
[解决办法]
不要总想着用个系统函数“查询”长度,既然是你分配的,你必然知道其长度,那么弄个变量记住长度

[解决办法]
此要求不能满足...
指针只有含指向的地址
占四个字节
int *a=new int[10];
int *b = new int[20];
a和b的数据类型都一样,不应该在指向的数据有多少上有差别
[解决办法]
C/C++ code
#include <iostream>using std::cout;using std::endl;int main(){    int size=10;    int *a=new int[size];        cout<<sizeof (*a)*10<<endl;    return 0;}
[解决办法]
http://blog.csdn.net/arong1234/archive/2008/03/23/2210462.aspx
[解决办法]
知道10个元素还要sizeof干吗?
探讨
C/C++ code
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int size=10;
int *a=new int[size];
cout<<sizeof (*a)*10<<endl;
return 0;
}

读书人网 >C++

热点推荐