看c程序设计语言碰到的一个疑问

http://img1.mukewang.com/59bb49f7000119f607460845.jpg在程序设计copy这个函数的时候,没有给copy函数一个return值,然后在主函数里面有进行调用,根据c语言函数的封装性可得,函数里面的变量只能再函数内部生效,那么在主函数里面调用copy这个函数不就是没有效果了吗,跪求慕课网的大神的解答

不会说话的鱼
浏览 1602回答 1
1回答

onemoo

对,函数中的变量只在函数中有效,包括函数的形参。而且调用函数传参是值传递,也就是形参只是得到实参的值,你在函数中改变形参无法影响外面的实参。但是当形参是数组类型时(也就是你这里的情形),有些不同:你可以简单地把数组类型形参当作和实参是一样的,所以在函数中操作形参数组就相当于操作外面的实参数组。我不知道你学指针了没,实际上这是指针相关的知识:函数形参为数组类型时,该形参相当于是数组元素指针类型。而调用函数传递实参数组时,相当于传入指向实参数组首元素的指针。 这样在函数中使用这个形参就相当于是使用指针,也就是利用指针来影响外部的实参了。  这是根本的解释,不过如果你还没学指针,就按照上一段来理解吧。
打开App,查看更多内容
随时随地看视频慕课网APP