我刚刚开始了我的返璞归真项目;学习 C。老实说,当您需要开发桌面/服务器应用程序时,抽象很好,但是使用 C,事情变得个人化了。这很好,为了改变!
现在说到重点;我正在阅读使用带有函数的数组(Programming in C,Stephen G. Kochan。)我了解到,当将函数作为参数传递时,编译器将始终将引用视为指针,如下所示:
void foo (char *array);
以这个为例:
void foo (char *a)
{
a[0] = 'R'; // side effect
}
int main (void)
{
char a[] = "The quick brown fox jumps over the lazy dog!";
foo (a);
}
我没有得到有关返回数组或指向数组的指针的函数的信息。该函数会更改其参数中的数组,从而导致副作用(如上所示)。
函数是否可以返回指向数组的指针?还是上述方法只是首选?
提前感谢那些可以提供解释的人。