c刚入门:请问这样的数组传递可以吗?

大家不用看具体内容 我就是不懂数组这样传递为什么对 不是说函数返回就释放吗 那主函数调用这个函数 还是改变不了数组内容啊

/* getline:将一行读入s中并返回其长度 */
int getline (char s [ ], int lim)
{
int c, i;
for (i = 0; i < lim -1 && (c = getchar ( ) ) != EOF && c != '\n'; ++i )
s[i] = c;

if (c == '\n' ) {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}

c

1个回答

因为它相当于一个指针,指向实参的空间。此时形参和实参都指向同一块空间,所以形参变化实参也会跟着变化

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问