每行 有多少列 , 即 为每个 一级指针 分配多少内存 ;
上述分配方式 , 能精准控制 内存 , 最大限度利用内存 ;
扫描
2
遍 ,
第一遍扫描 , 求出有多少个 一级指针 , 并为其分配内存...;
第二次扫描 , 求出每个 一级指针 要分配多少内存 ;
第一次扫描 : 计算 要分割的字符串 个数 , 为其分配内存 ;
// 第一次遍历 , 求出有多少行
do
{...= '\0');
// 得到分割的字符串个数
*count = tmpcount;
// 为 一级指针 分配内存
p = (char **) malloc(tmpcount..., 0, tmpcount * sizeof(char *));
第二次扫描 : 为每个 一级指针 分配对应的内存 , 并拷贝 分割后的 字符串 ;
// 第二次遍历
// p1 , p2...= '\0');
// 得到分割的字符串个数
*count = tmpcount;
// 为 一级指针 分配内存
p = (char **) malloc(tmpcount