【发布时间】:2021-05-06 20:50:52
【问题描述】:
我想重构一个函数,以便可以将它用于不同长度的数组,并返回新创建的数组,以便其他函数可以访问它。我不能使数组静态,因为你不能有动态长度的静态数组。我也不能使用全局结构,因为它需要占用数组的长度,而且我认为必须进行硬编码。 所以问题是是否有可能做这样的事情:
char* splitElementsArr(FILE* file){
int length = countBlankLines(file);
char *arr[length] // or maybe use malloc here
...Some operations to fill array
return arr;
【问题讨论】:
-
你确定它需要是指针数组,而不是
char数组吗? -
但差异对答案影响不大。
-
@Barmar 是的,它是一个字符串数组
-
@Barmar 该函数假定将文件分割成块,所以我并不惊讶它返回一个指针数组。
-
@xhienne 好点。让我感到困惑的是,数组的大小是根据文件长度来确定的。但我想这只是一个上限。