美文网首页
C语言形参与实参

C语言形参与实参

作者: Yanci516 | 来源:发表于2016-04-05 19:45 被阅读251次

C语言中形参与实参的关系是:形参是实参的值副本,无论参数的类型是什么,传递到子函数的形参只是实参的值。在子函数里改变形参的值,并不会影响实参,通俗说就是形参的改变不会影响实参。
但是,如果参数是指针类型,则可以通过指针变量所指地址进行数据的改变,达到改变实参地址中的数据的目的。
在使用 swap 函数时,一定要保证上述两点,即:参数一定要是指针类型,指向待交换的数据;swap函数里交换的一定是地址中的数据,而不是地址。

以下几种写法

  1. 正确的写法:
{  
     int temp;
     temp = *a;
     *a = *b;
     *b = temp;
}```
2. 错误的写法①,错在交换的只是指针变量的地址,且形参的改变不能影响实参的值,并不是交换指针所指向的数据。
``` void swap(*int a,*int b)  
{  
     int *temp;
     temp = a;
     a = b;
     b = temp;
}```
3. 错误写法②,该函数的形参并不是指针类型,行参的改变并不影响实参的值。
``` void swap(int a,int b)  
{  
     int temp;
     temp = a;
     a = b;
     b = temp;
}```
####重要提示,C语言中的形参是非指针类型的子函数,返回值至多一个;而形参是指正类型的子函数则可以返回多个值。

相关文章

  • C语言形参与实参

    C语言中形参与实参的关系是:形参是实参的值副本,无论参数的类型是什么,传递到子函数的形参只是实参的值。在子函数里改...

  • OC内存区域

    c语言中形参和实参 形参 form parameter实参 real parameter出现在函数定义中的...

  • 形参与实参 

    值调用 值调用就是调用函数时,给形参分配内存空间,将实参拷贝给形参,之后的函数执行中形参和实参就脱离了关系,谁都不...

  • C语言-运用指针进行角色互换

    问题描述:运用指针进行角色互换 源代码: 运行结果: 程序心得: 1、在C语言中实参与形参之间的数据转换是单向的“...

  • 实参与形参

    dq 喜欢用这个表达. 专门查一下, 备忘. 实参对应 argument, 是函数调用的时候真正扔进去的参数. 形...

  • Python3:函数

    示例 位置实参与关键字实参 使用位置实参调用函数,实参的顺序要和形参的顺序一样 关键字实参通过形参名-实参的形式传...

  • 11.29setInterval

    形参,实参 形参:形式参数//fn(a,b,c)实参:实际参数//fn(1,2,3);arguments:实参的集...

  • python实参与形参

    1.形参与实参 name是形参,Neil是实参,greet是一个函数,Neil的值传给函数,保存在形参中2.位置实参

  • 形参与实参的区别

    形参与实参详解 总结:    1.java的基本数据类型是传值调用,对象引用类型是传引用。    2.当传值调用时...

  • JS形参与实参问题

    1.通过实参调用函数的时候,传入函数里的是实参的副本而不是实参,因此在函数里面修改参数值并不会对实参造成影响。 例...

网友评论

      本文标题:C语言形参与实参

      本文链接:https://www.haomeiwen.com/subject/gqbplttx.html