请问:C++中数组长度怎么动态分配?!

就是怎么根据具体情况由系统来分配数组的大小!

int N ;// 定义一个int型整数 N
//当N的值确定以后,再定义数组
int *p = new int[N];//p[N]就是你要的数组
//但是这种方法,数组不用以后,必须自己释放
delete []p; //释放数组
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-23
数组的长度一旦固定下来就不可以增长了
但是string为什么可以用加法呢?是因为他是c++字符串的形式重载了加法运算符
在数组的长度固定下来就不可以再动态分配内存了
最好的方式是你提前知道你要存储的字符,整数,或者对象的个数,用一个常量来接受数组的长度,再用这个长度来定义数组,就可以了
具体的函数为: char * cha = new char[N];
这是分配一个字符型数组
什么不懂还可以多交流
第2个回答  2009-06-23
在C++中,你可以使用这个格式喃,
printf("请输入数组大小:")
scanf("%d",&n);
int a[n]
第3个回答  2009-06-23
比如分配字符型吧

1、char *buffer=(char *)malloc(sizeof(char)*100);//分配100个字符
。。。// 处理用,用完要释放内存
free(buffer);

2、char *buffer=new char[100];
。。。
delete []buffer; // 注意方括号

3、char *buffer=GlobeAlloc(sizeof(char)*100);//我记不太清楚了,自己查一下这种
GlobeLock(buffer);
... ...
GlobeUnlock(buffer);
GlobeFree(buffer);

请问:C++中数组长度怎么动态分配?!
int *p = new int[N];\/\/p[N]就是你要的数组 \/\/但是这种方法,数组不用以后,必须自己释放 delete []p; \/\/释放数组

C++怎么做到动态改变数组长度
能的,用new,例:inta;cin>>a;int*s=newint[a];new和delete运算符用于动态分配和撤销内存的运算符new用法:1.开辟单变量地址空间1)newint;\/\/开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int*a=newint即为将一个int类型的地址赋值给整型指针a.2)int*a=newint[5]作用同上,但是同...

C++怎么动态分配一个数组并赋值
可以动态分配指定长度的数组 在C语言中要使用 malloc calloc 来进行分配 如果要赋值的话可以在申请完内存后 使用循环进行赋值也可以使用C库中提供的内存操作函数 memset(开始地址,要赋的值,长度); 如 int *arr = new int[10]; memset(arr,0,arr+10);这样就将这个数组中的10个元素...

c++动态定义数组长度
你可以先定义一个全局指针变量(如果要求整型数组的话就是int* a,字符型就是char* a等),指针你可以把它理解成数组int a[],这里数组a就相当于int*a,但这时指针还没有分配内存空间,只要分配了就相当于数组,但比数组的优势在于可以动态定义长度,如果分配了空间之后a中存储的值就是分配的空间的位...

C++怎样动态设定数组的长度?(把数组长度用变量表示,通过输入确定长度的...
int a,*p;cout<<"输入元素个数:";p=new int[a];for(int i=0;i>p[i];

C\/C++如何分配未知长度的数组的内存空间?动态内存分配?
1.首先,因为你不知道两个所要对比的数的公共元素个数,可以先设置一个标记标量k,并初始化为0,每当两个数组有元素相等时就把标记变量的值加一。(使用for循环实现,不用细说了吧)2.定义一个int类型的指针变量a(int *a),因为要开辟内存。然后使用以下命令:a = calloc(k, sizeof(int));...

c++如何用数组来模拟动态内存分配
四、这时候就可以写动态内存分配的函数了,根据需要分配的大小,找出一片未使用的连续的内存页。比如第二步中定义一页是4字节,需要5个字节的内存,就分配两页(多出来的3字节就没办法了,浪费掉了)。找到内存页后将几个内存页标记为已使用,同时给几个内存页赋想相同的内存分配标识,然后返回第一...

C++ 中如何简单理解动态数组,为什么说他是动态的,使用时还要给它分配...
动态数组就是在程序运行当中分配数组的大小,比如你输入一个n,就可以动态申请含有n个元素的数组a int* a=new int[n]; 动态数组可以避免静态数组过小不够用和过大浪费空间的问题。

c++求数组的长度
你上面的问题,其实是动态分配,而不是数组。动态分配的内存,系统会记录相关数据,如果你使用自己的内存管理函数,可以很方便的取到长度,但是如果你使用其他函数(标准库的或者别人的),你就只能自己记录长度值(如果必要,可以记录两个:最大长度、有效长度)。当然,你可以想办法获取该段内存的总长度...

c++动态数组的使用
在C++编程中,当我们遇到需要长度可变的数组时,动态数组就显得尤为重要,这通常伴随着`new`和`delete`操作符的使用,它们通常是一对一配合的。让我们先从一维动态数组开始,直接通过代码来展示:当需要处理不确定大小的一维数组时,会用到动态数组,如:在使用后,正确的方法是在第14行释放动态数组而不...

相似回答
大家正在搜