c\c++ 参数传递
来源:互联网 发布:函数的参数是数组 编辑:程序博客网 时间:2024/06/06 22:32
-----------《嵌入式c\c++系统工程师实践训练》
函数参数传递机制实质上是主调函数和被调函数在调用时进行通信方式的问题,基本的传递方式有两种:值传递和引用传递。
值传递过程中被调函数的形参作为被调函数的局部变量处理,即在栈中开辟了内存空间,用来存放主调函数的实参值,从而成为实参的一个拷贝副本,值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值,因为两个变量不是放在同一个地方。
引用传递过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但这些内存空间主要为了存放主调函数的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过栈中存放的地址寻找实参变量。被调函数对形参的任何操作都影响了主调函数中的实参量。因为操作的变量存放在同一个地方。
c语言中,值传递是唯一可用的参数传递机制,实参和形参各自占据独立的存储单元,调用时将实参的值传入形参单元,在被调用函数中访问相应的形参单元,函数调用结束后释放形参单元。因此在被调用函数中改变形参的值并不会改变实参的值。函数调用时是把实参的值拷贝到相应的形参中,被调用函数得到的是实参的拷贝。
普通变量参数(值传递)
指针变量参数:
指针变量参数传递也是值传递,但由于指针操作的特殊性,可以通过间接的方式来改变实参。
数组变量传递:
类似于指针变量传递
引用参数传递:
0 0
- C/C++--参数传递
- C#中的参数传递
- C#中的参数传递
- C#中的参数传递
- C#中的参数传递
- C#参数传递
- c语言参数传递
- C语言参数传递
- c#--参数传递
- C参数传递
- C语言参数传递
- C语言参数传递
- C函数参数传递
- C指针参数传递
- C/C++ 参数传递
- C语言参数传递
- C参数传递
- C语言参数传递
- 盘点:这些不该在简历中出现的词语
- 获取微信 accesstoken
- 安卓基础DAY04 笔记
- 2017年营销行业八大趋势预测,H5居然...
- 读《怪诞行为学》
- c\c++ 参数传递
- 网页特殊符号HTML代码大全
- git 分支管理
- 设计模式之六大原则——开闭原则(OCP)
- 理解模块化和依赖管理(一)
- ubuntu(16.10) spark安装
- smarty 判断奇偶
- 《从零开始学Swift》学习笔记(Day 44)——重写属性
- iOS打印输出