程序代码 #include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ int **p; p=(int **)malloc(sizeof(int *)*3); //双指针存指针 *(p+0)=(int *)malloc(sizeof(int)*10);//单指针存数据 *(p+1)=(int *)malloc(sizeof(int)*10); *(p+2)=(int *)malloc(sizeof(int)*10); //可以直接当双下标数组使用了 for(int i=0;i<3;i++){ for(int j=0;j<10;j++) p[i][j]=i+j; } printf("%d\n",p[2][9]);//测试为11 //清除数据,C++不自动回收malloc的内存 for(int s=0;s<3;s++){ delete [] *(p+s); } printf("%d",p[2][9]); //这里再测试就没有值了 system("PAUSE"); return 0;}

评论