标签:
一. 内存分配方式
二. 常见的内存错误及其对策
char* p = new char[1025]; delete []p; int* q = new int[1024]; delete []q; //多维数组的动态创建 //一个多维数组在语义上并不等价于一个指向其元素类型的指针,相反它等价于一个“指向数组的指针” char *p1 = new char[5][3]; //ERROR! 语义不等价 int *p2 = new int[4][6]; //ERROR! 语义不等价 char (*p3)[4] = new char[5][4]; //OK,退化第一维,语义等价 int (*p4)[5] = new char[3][5]; //OK,退化第一维,语义等价 char (*p5)[5][7] = new char[20][5][7]; //OK,退化第一维,语义等价 //错误的删除多维数组的方法 delete [][]p3; delete [][]p4; delete [][][]p5; //正确的方法 delete []p3; delete []p4; delete []p5;
三、指针参数如何传递内存
标签:
原文地址:http://www.cnblogs.com/zhehan54/p/5252139.html