字符指针数组 和 字符指针的指针
即 char ** arr VS char * arr[]
一句话道出这两者之间的区别,就是后者可以在声明的时候确定数组大小,但是前者不能。所以:
这两行代码运行会出core
char ** arr;
arr[0]=(char*)malloc(sizeof(char)*10);
如果先做malloc则不会有问题
char ** arr;
arr=(char **)malloc(sizeof(char*)*10);
arr=(char **)malloc(sizeof(char*)*10);
arr[0]=(char*)malloc(sizeof(char)*10);
但是下面的两行代码运行不会出现问题,因为声明的时候已经分配空间
char * arr[10];
aar[0]=(char*)malloc(sizeof(char)*10);