使用new关键字可以直接写出所需类型,自动计算内存大小。
举例既已
int *p;
p = new int[10];
if(!p) { //p == NULL
printf("Fail\n");
exit(1);
}
*(p + 1) = 1;
printf("%d\n", p[1]);
delete []p;
p = new int(10086); //init its content as 10086
if(!p) {
printf("Fail\n");
exit(1);
}
printf("%d\n", *p);
delete p;
注:
1. delete只能释放由new分配的空间
2. delete []p 才能删除p所指的整个数组