问题描述
- C++动态创建不定长数组
-
我想通过直接输入一个任意大小的字符串来创建一个字符数组,但又不想浪费多余的空间,要怎么做到呢?新手。。。
解决方案
char * newchar(const char * ps){
char * prt = 0;
if(ps){
int nlen = strlen(ps);
prt = new char[nlen+1];
strcpy(prt,ps);
}
return prt;
}
解决方案二:
直接用指针,可以动态申请大小,且可以将指针当成数据来访问。
如果一定要使用数组,数组的特性就决定了不可能动态分配空间,只能初始化时设定死。
解决方案三:
数组是没有办法动态分配存储空间的。如果想达到你的效果,可以采用指针,利用地址的动态改变来改变数组的长度
解决方案四:
根据你输入的值,用一个变量n保存,然后new char[n],就可以动态分配指定长度的数组了
解决方案五:
直接用vector多好
时间: 2024-12-03 05:03:57