字符指针数组 和 字符指针的指针 即 char ** arr VS char * arr[]

字符指针数组字符指针的指针

即 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[0]=(char*)malloc(sizeof(char)*10);  

但是下面的两行代码运行不会出现问题,因为声明的时候已经分配空间

char * arr[10];

aar[0]=(char*)malloc(sizeof(char)*10); 



原文地址:https://www.cnblogs.com/welkinwalker/p/2151104.html