有没有另一种方法 return C 中的数组而不是使用指针?

Is there another way to return an array in C instead using pointers?

我想我可以 return 数组,就像我在 Java 中做的那样,但我认为没有办法在 C 中声明 char 函数.

没有。您通过指针 return 数组(可能作为指针或数组嵌入到结构中)。该数组要么在函数中动态分配,要么作为参数传递给函数,然后再次 returned:

char *f() {
  char *s = malloc(42);
  ...
  return s;
}
char *f2(char *s) {
  ...
  return s;
}

Java是一种high-level语言,C是一种low-level语言。在 java 中,您可以找到已定义的所有内容。在 C 中,大多数情况下你必须做所有事情。 实际上,数组只是内存空间,由您在 Java.

中看不到的指针索引

return针对您的问题, 您可以创建一个函数,在其中分配数组,或者将其作为参数传递,然后进行处理并简单地 return。

我希望这能澄清您的疑问。