首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么获取动态数组的大小

2012-03-13 
如何获取动态数组的大小?很多计算方法的实现都要依靠矩阵。而矩阵的大小要由用户来决定(即在运行时确定)。这

如何获取动态数组的大小?
很多计算方法的实现都要依靠矩阵。而矩阵的大小要由用户来决定(即在运行时确定)。这就需要用到(多维)动态数组了。申请完内存之后,程序的其他地方可能还需要知道该动态数组的大小。请高手指教。

[解决办法]
动态申请的数组不能用sizeof(x)/sizeof(x[0])获得大小

C/C++ code
int * p = new int[3];cout<<sizeof(p)/sizeof(p[0])<<endl;
[解决办法]
当p是指针时
sizeof(p)/sizeof(p[0])
这个表达式本身就是不伦不类毫无意义的
输出其他的值也是可能的
[解决办法]
同意楼上, 动态分配的数组还是用个变量记录其大小吧
[解决办法]
同意楼上的楼上
ps
C/C++ code
#include <iostream>using namespace std;int main() {    char *p = new char[10];    int x = sizeof(p)/sizeof(p[0]);    cout << x << endl;    double *q = new double[20];    int y = sizeof(q)/sizeof(q[0]);    cout << y << endl;    return 0;} 

热点排行