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

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

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

例如:

 #include<stdio.h>
 void change(int);
 int main()
 {
    int num = 9;
    change(num);   //将num = 9的值复制一份给change中的变量,
    printf("num = %d\n",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\n",num);
     return 0;               

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

   

数组作为函数参数:

扫描二维码关注公众号,回复: 7702936 查看本文章

猜你喜欢

转载自www.cnblogs.com/18191xq/p/11774335.html