还记得之前帖子中提到的malloc吗,new和malloc都可以申请和释放空间。
一般使用new有三种格式:
1.指针变量名=new+类型;
2.指针变量名=new+类型(赋予一个初始值);
3.指针变量名=new+类型[内存单元个数];
释放空间需要用到delete。
例子:
#include<iostream>
using namespace std;
int main()
{
int* p=new int(100);
cout << *p << endl;//100
delete p;
char* str = new char[4];
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
str[3] = '\0';
cout << str << endl;
delete[] str;//释放数组的格式
return 0;
}
在C++中用malloc要加强制类型转换,如:
#include<iostream>
using namespace std;
int main()
{
int* p = (int*)malloc(4);
*p = 100;
cout << *p << endl;
free(p);
char* str = (char*)malloc(4);
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
str[3] = '\0';
cout << str << endl;
free(str);
return 0;
}
注意:
new和malloc可以混用,但在C++中我们常用new。
之后的帖子中会总结二者的区别。
标签:malloc,int,C++,new,变量名,指针 From: https://blog.csdn.net/2301_80311224/article/details/141610077