C++如何用new动态开辟一个一维字符数组
6个回答
展开全部
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。
展开全部
动态开辟一个一维字符数组: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 类型 [初值]
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 类型 [初值]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int num = 100; //指定大小
char *p = new char[num]; //new一个数组
delete [] p; //释放掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针和数组区别有时候不大,指针也可以[]操作符,完毕
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *Word=NULL;
int num;
cin>>num;
if(num>0)
{
Word=new char(num);
}
int num;
cin>>num;
if(num>0)
{
Word=new char(num);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询