关于sizeof的有关问题,愿大家帮忙解决一下
关于sizeof的问题,愿大家帮忙解决一下请大家看以下程序:C/C++ code#include iostreamusing std::coutus
关于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干吗?