当用数组名作形参时,形参数组改变可使实参数组随之改变 . 这句话哪里错了 求详细解答

如题所述

在下觉得这是“文字游戏”!用数组名作形参,传进去的实参必然是数组名或指向该数组名的指针,在子函数中改变的数组就是以传过去的那个数组名为首址的同一个数组,子函数中改变的数组也就是这同一个数组,还能分什么形参数组和实参数组吗?如果说这句话有错的话,那就是根本就没有“形参数组”和“实参数组”之分,本来就只有一个数组,只是主函数可能是用数组名操作的,而子函数一般是用指针操作的。即便是你把形参写成n[]而不写成*n,n照样是指针,可以在子函数中进行n++、n--操作……
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-22
一、数组名

定义一个数组,其数组名是一个静态的地址,可表示这个数组的首地址。静态的意思就是不能改变。
二、参数传递
函数参数传递是传值的,意思是,将实参的数值传递到子函数。当用数组名作形参时,子函数收到的是主函数中的数组的首地址值!
三、形参数组与实参数组??
有这样叫的吗?感觉怪怪的
四、综上:
通过形参 可在子函数中改变形参所指向的数组中的内容,而实参对应的数组中的内容会随之改变。因为,这是通过地址对地址中的内容进行更改。追问

那这句话到底有没有错

追答

这句话的对错只有看答案才知道。理解以上概念就好了,不会影响程序设计者编程。
如果让我答,我就答:错,理由是“没有形参数组和实参数组这种叫法",当然,其它内容也描述不严谨,就不列举了

本回答被提问者和网友采纳
第2个回答  2013-01-01
这句话没有错,因为这里涉及到指针的操作,你要了解数组和指针的区别,并且了解数组名和数组参数的关系,希望对你有帮助!
相似回答