能不能通过改变函数形参数组的值是实参数组的值改变?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了能不能通过改变函数形参数组的值是实参数组的值改变?相关的知识,希望对你有一定的参考价值。

可以,实参传递数组名,其实就是地址传递,在函数中改变形参数组的值,其对应的实参肯定也改变了,在内存中只有一份内容,或者说共用内存。

自定义函数中的“形参”全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。实参和形参可以重名。
是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.
在VB中,出现在Sub过程和Function过程的形参表中的变量名、数组名,称为形式参数,过程被调用之前,并为其分配内存,其作用是说明自变量的类型和形态以及在过程中所“扮演”的角色。
形参即函数的自变量,其初值来源于函数的调用。只有在程序执行过程中调用了函数,形参才有可能得到具体的值,并参与运算求得函数值。
可见形参表相当于变量说明,但应特别注意:此处只能使用类型标识符,而不能直接使用类型。
在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且必须要有确定的值。
参考技术A

可以,实参传递数组名,其实就是地址传递,在函数中改变形参数组的值,其对应的实参肯定也改变了,在内存中只有一份内容,或者说共用内存。

    自定义函数中的“形参”全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。实参和形参可以重名。

    是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.

    在VB中,出现在Sub过程和Function过程的形参表中的变量名、数组名,称为形式参数,过程被调用之前,并为其分配内存,其作用是说明自变量的类型和形态以及在过程中所“扮演”的角色。

    形参即函数的自变量,其初值来源于函数的调用。只有在程序执行过程中调用了函数,形参才有可能得到具体的值,并参与运算求得函数值。

    可见形参表相当于变量说明,但应特别注意:此处只能使用类型标识符,而不能直接使用类型。

    在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且必须要有确定的值。


参考技术B 可以,实参传递数组名,其实就是地址传递,在函数中改变形参数组的值,其对应的实参肯定也改变了啊!他们在内存中只有一份内容,或者说共用内存! 参考技术C 在C里面通过传指针就可以;C++里面还可以采用引用方式 参考技术D 会的

变量的值传递

基本类型、字符串String——传递的是实参的值

初始化定义变量m时,在内存中分配存储空间

m作为传入调用的方法中形参n时,在被调用的方法形参n分配独立于m的存储空间,所以在方法中n改变了值,但当方法调用结束之后,变量m的值仍原先值

集合、数组、对象——传递是集合的引用方法中的集合和传递的集合是一样的指向同一个集合。所以如果改变方法中的集合,方法外的集合也会同步改变

初始化定义变量时,该变量存储的是指向值的引用。

List list = new ArryList()

变量list存储的指向集合的引用地址,而非实际的集合。

所以当传入调用方法时,若在方法中改变传入的值,则方法调用结束之后,变量的值也同步改变

 

集合、数组、对象存储在堆中,用于动态内存分配,在堆中的内存可以随意的顺序分配和释放。指向的变量存储在栈中

以上是关于能不能通过改变函数形参数组的值是实参数组的值改变?的主要内容,如果未能解决你的问题,请参考以下文章

实验4 数组

C++ 值传递指针传递引用传递详解

调用函数时为啥形参的值不能传给实参

函数(参数传递)--C++复习

当需要一个形式参数直接改变对应实参的值时,该形式参数应说明为啥参数?

形式参数啥时候可以改变实参?给个例子。