值的引用传递数组作为函数参数

Posted 18191xq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值的引用传递数组作为函数参数相关的知识,希望对你有一定的参考价值。

按值传递(按副本传递):

给函数传递变元(参数)时,变元(参数)不会直接传递给函数,二十先制作变元(参数)值的副本,存储在栈上,再使这个副本可用于函数,而不是使用初始值。

例如:

 #include<stdio.h>
 void change(int);
 int main()
 {
    int num = 9;
    change(num);   //将num = 9的值复制一份给change中的变量,
    printf("num = %d
",num);//change中的值为副本,
     return 0;               //main函数中的num不随change函数中的num的改变而变

 }
void change(int num)
{
    num++;
}

运行结果:

num = 9

  

引用传递:

指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数

 #include<stdio.h>
 void change(int *);
 int main()
 {
    int num = 9;
    change( &num );   //传num的地址
    printf("num = %d
",num);
     return 0;               

 }
void change(int * num)  //指针型变量,存放的是main函数中整型变量num的地址
{
    *num += 1//*表示取地址,取这个地址的值,指向num的值,然后对它执行加一的操作
}

   

数组作为函数参数:

 

以上是关于值的引用传递数组作为函数参数的主要内容,如果未能解决你的问题,请参考以下文章

在c语言中子函数引用主函数中的值和引用主函数某个值的地址的区别

golang内置数据类型作为函数参数

java数组作为参数传入函数怎么让他不变化

使用变量与指向变量的指针作为函数的参数

js得到函数的参数值,怎么得到传递的函数的参数?

C语言中如何将二维字符数组作为函数参数引用传递