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

 我来答
幻想家爱休闲
高能答主

2019-07-14 · 分享休闲中的点点滴滴!
幻想家爱休闲
采纳数:1082 获赞数:266339

向TA提问 私信TA
展开全部

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。

tattackor
推荐于2018-02-27 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:872万
展开全部
动态开辟一个一维字符数组: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 类型 [初值]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
璐人钇
2018-02-27 · TA获得超过1552个赞
知道小有建树答主
回答量:1365
采纳率:69%
帮助的人:657万
展开全部
int num = 100;                //指定大小
char *p = new char[num];      //new一个数组
delete [] p;                  //释放掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longinus_dean
2011-11-21 · TA获得超过2282个赞
知道小有建树答主
回答量:1097
采纳率:50%
帮助的人:1514万
展开全部
指针和数组区别有时候不大,指针也可以[]操作符,完毕
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
探草的店
2011-11-21
知道答主
回答量:7
采纳率:0%
帮助的人:9.3万
展开全部
char *Word=NULL;
int num;
cin>>num;
if(num>0)
{
Word=new char(num);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式