【发布时间】:2019-10-17 14:30:51
【问题描述】:
我需要帮助了解 char*** 的含义以及如何初始化 char*** 类型的变量。
例如,如果有一个函数可以读取文件的行数,同时跟踪行数并打印出每一行对应的数字:
void read_lines(FILE* fp, char*** lines, int* num_lines){}
在这种情况下 char*** 代表什么,我将如何初始化变量行?
【问题讨论】:
-
Read a book first 而不是只在这里问 SO
-
当心:被指责为Three-star Programmer 并不是恭维。
-
这通常意味着您需要重新排列或重构代码以提供可以分配的某种类型的返回等。因此不再是三星级程序员。 (也就是说,在某些情况下,指针可能是一个合理的选择,例如需要 poiner-to-pointer-to-type 的地址)在您的情况下,您可以更改您对
char **read_lines(FILE* fp, char** lines, int* num_lines){}的声明并返回一个指向修改后的lines的指针,以便在调用者中分配回。
标签: c