【发布时间】:2021-10-24 18:28:28
【问题描述】:
如何在 C 中返回任意长度的 char 数组?
char string[](int, int);
不起作用;有没有办法返回一个 char 数组?
【问题讨论】:
标签: arrays c return-value
如何在 C 中返回任意长度的 char 数组?
char string[](int, int);
不起作用;有没有办法返回一个 char 数组?
【问题讨论】:
标签: arrays c return-value
你无法在 C 中做到这一点。 而是返回一个指针。
char *string(int length, int unused) {
char *s = calloc(x, sizeof(char));
return s;
}
【讨论】:
calloc()而不用free()清除分配的内存会导致内存泄漏。
char *str = string(10, 0); strncpy(str, "hello", 10); str[9] = 0;