malloc,free #include
//C
int *p = (int*)malloc(size0f(int));
//C++ 强制类型转换
int *p = static_cast<int*>malloc(size0f(int));
int *p = new int;
初始化数组
int main()
{
struct Stu
{
int age;
string name;
};
Stu* pStu = new Stu{10, "bob"};
}
C++所有东西都不要.h了,前面只要放个c就好了
#include <string.h>
#include <cstring>
int main()
{
char * p = new char[4];
strcpy(p, "China")
}
一般不在new的时候初始化,一般new了指针后赋值的方法为:
int * pi = new int[5];
memset(pi, 0, sizeof(int)[5]);
创建指针的数组
char **ppi = char int*[5];
ppc[0] = "China";
ppc[1] = "automan";
ppc[2] = "greatWall";
ppc[3] = new char[10];
while(*ppc)
{
cout<<*ppc++<<endl;
}
数组一维、多维
int (*par)[4] = new int[3][4]{{0}};
for (int i=0; i<sizeof(int[3][4])/sizeof(int[4]); i++)
{
for (int j=0; j<4; j++)
{
cout<<pa[i][j]<<endl;
}
}
int *px[3][4][5] = new int[2][3][4][5];
释放
int main()
{
int *q = new int[100];
delete []q;
//delete q; 只删除第一个元素
}
new的东西不要free
malloc的东西不要delete