C++如何用new动态开辟一个一维字符数组

如题所述

C++用new动态开辟一个一维字符数组步骤如下:

1、new 分配内存,通用格式是:类型名 * 指针 = new 类型名;如  int * pi = new int;类型可以是基本数据类型、结构体、自定义类等。

2、delete 来释放内存,通用格式是:delete 指针名;注意 delete 与 new 配对,只能释放 new 分配的内存。delete只能用一次,不能释放指针两次。

3、new 创建动态数组,通用格式是:类型名 * 指针 = new 类型名 [ 数组大小 ];如 char * pc = new char [234];pc 被赋值为第一个元素的地址,指向第一个元素。

4、delete 释放动态数组,通用格式是: delete [] 指针。

5、new 创建的动态数组,指针可当作数组名来使用,如 float * pf = new float [200];pf[24],是数组的第25个元素的值,下标从0开始。

6、new 和 delete 是C++中用来动态分配内存的,C语言使用 malloc 和 free。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
动态开辟一个一维字符数组:char *c = new char[100];//动态建立一个100长度的字符数组

new用法:
1、开辟单变量地址空间
1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a.
2)int *a = new int(5) 作用同上,但是同时将整数赋值为5

2、开辟数组空间
一维: int *a = new int[100];开辟一个大小为100的整型数组空间
二维: int **a = new int[5][6]
三维及其以上:依此类推.
一般用法: new 类型 [初值]本回答被网友采纳
第2个回答  2018-02-27
int num = 100;                //指定大小
char *p = new char[num];      //new一个数组
delete [] p;                  //释放掉

第3个回答  2011-11-21
指针和数组区别有时候不大,指针也可以[]操作符,完毕本回答被提问者和网友采纳
第4个回答  2011-11-21
char *Word=NULL;
int num;
cin>>num;
if(num>0)
{
Word=new char(num);
}
相似回答