c++中如何知道一个new出来的数组的大小

new出来的数组的大小如何获得?
比如有int *i=new int[x];
我如何才能知道x的值?

这个声明中的x应当在声明以前就以知道。
例如:
#define x 3
int *i=new int[x];
int k;
for (k=0;k<x;k++) i[k]=k;
for (k=0;k<x;k++) cout <<i[k] << " ";
===
或者:
int x;
cout << "enter x:" << endl;
cin >> x;
int *i=new int[x];
int k;
for (k=0;k<x;k++) i[k]=k;
for (k=0;k<x;k++) cout <<i[k] << " ";
----
数组占的内存字节数: sizeof(int) * x
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-12
x应该是前面定义过的
第一种可能:#define x 3
第二种可能: static int x=3;
第三种可能:const int x=3;
第四种可能: int x=3;
第2个回答  2012-05-12
在声明的时候,x已经是确定值
第3个回答  2012-05-12
这个的话 可以
int iLenth = sizeof(int) * x;
第4个回答  2020-07-12
_msize(i)/sizeof(int)

C++ 如何获取由new申明的数组的大小?
或者 _countof(a2)宏

c++中怎样用键盘输入一个数确定数组的大小?比如我输入一个n=5,再...
标准C++版本:include <iostream>#include <vector>using namespace std;int getArrayLength(void){cout << "请输入数组长度:" << endl;int arrayLength = 0;cin >> arrayLength;return arrayLength;}void printVector(const vector<int>& arr){for (auto i = 0; i < arr.size(); ++i){...

C++中数组大小怎么计算
C++中数组的大小可以通过sizeof运算符来进行计算得到。例如:对于数组V,通过sizeof(V)可以得到数组V的大小。通过 sezeof(V)\/sizeof(V[0]) 可以计算得到数组V中元素的个数。例如:V[5] = {1,2,3,4,5};num = sizeof(V) \/ sizeof(V[0]);得到的num值就是数组V中元素的个数。

C++中如何来测量一个数组空间的大小或者一个变量(比如说字符串变量...
对于数组,对象,基本类型等,可以直接用sizeof,比如 int n[100];int size = sizeof(n);对于字符串,或其他指针,需要先计算字符串长度,然后乘以每个字符的大小,比如 char* p = "12345";int n = strlen( p );int size = (n+1) * sizeof(char);...

C++声明了一个结构体数组,有什么办法可以获取这个数组的大小...
1、 你可以把这个数组做成一个 模版template、或者是一个 class, 写一个public函数,获得它的大小。2、比如一个结构体 typedef struct YourStruct YS; \/\/ struct YourStruct为你定义的struct YS ys[100]; \/\/结构体数组 ,有100个元素 int sz= sizeof(ys)\/sizeof(YS); \/\/...

C\/C++中如何获取数组的长度
boost::size( arr ) << std::endl; \/\/ 输出4}上面的方法适用于静态数组,动态的数组(new[])是无法获取元素个数的。上面的代码,自己可以编译运行看看,如果手上没有编译器测试上面的代码或者编译失败,可以在下面的页面上编译运行(最新版本的Visual C++):http:\/\/webcompiler.cloudapp.net\/ ...

c++如何自定义数组的大小(new的知识)谁能举个例子
在C++里,每一个new操作都是一次性申请一块内存。假如这里申请的是数组,那么当你new的时候,申请的就是一个固定尺寸、固定元素个数的数组内存。所以,象你上面那种先new有数组,后面需要再添加数组的,new本身是无法实现尺寸增长的。要实现您需要的动态尺寸的数组,在C++里,只有自己写一个类,在类的...

C\/C++ 中如何获取数组长度
GET_ARRAY_LEN(array,len) {len = (sizeof(array) \/ sizeof(array[0]));}。而在C++中则可以使用模板技术定义一个函数,比如:template <classTintgetArrayLen(T& array){return(sizeof(array) \/ sizeof(array[0]));}这样对于一些简单的数组可以使用这个宏或者这个函数来获取数组的长度了。以...

关于如何输入一个数来任意确定数组大小
要满足你所说的用户输入数组大小的要求,就要用动态数组。用整型变量来举个例子如下:C++中用下面定义:int n;std::cin >> n;int *a = new int[n];C语言中可以用malloc:int n;scanf("%d", &n);int *a = (int*)malloc(n * sizeof(int));要追加一点说明就是动态数组是存储在堆上的...

c++中NEW运算符的用法
c++中NEW运算符使用的一般格式为new 类型[初值]。用new分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户可以根据该指针的值判断分配空间是否成功。1、newint:开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)。2、new...

相似回答