C语言值传递问题
2014-03-20 22:43
190 查看
大一开始学的C语言,大三复习了一遍,现在又复习了一遍才弄懂值传递问题
指针传递
demo1
demo1和demo2两者实现的原理都是一样的,都是单向的值传递,形参的改变并不会影响到实参的改变。
demo3
demo3实现的并不是简单地将实参直接传入,而是将实参传入函数时,将a所指向的变量的值变为b所指向的变量的值,同理,b所指向的值变为a所指向的值。
改变不是a或者b的地址,而是将a或b地址所指向的数据进行交换。
指针传递
demo1
void swap(int a ,int b ){ int temp; temp=a; a=b; b=temp; }
demo2
void swap(int *a,int *b){
int *temp; temp=a; a=b; b=temp; }
demo1和demo2两者实现的原理都是一样的,都是单向的值传递,形参的改变并不会影响到实参的改变。
demo3
void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp; }
demo3实现的并不是简单地将实参直接传入,而是将实参传入函数时,将a所指向的变量的值变为b所指向的变量的值,同理,b所指向的值变为a所指向的值。
改变不是a或者b的地址,而是将a或b地址所指向的数据进行交换。
相关文章推荐
- C语言值传递问题
- [VB.NET]窗体与窗体数据传递问题?
- 解决乱码传递问题
- android PendingIntent 使用通知传递多个参数,及不覆盖的问题
- c++中vector做形参传递问题
- java中的参数传递问题
- Flex-Jsp 中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)
- java密钥字符串byte[]传递问题
- GET方式传递中文参数乱码的问题
- 在liferay中使用search-container下一页参数不传递的问题
- C++,关于指针形参”值传递VS地址传递“的问题
- 解决jsp参数传递乱码的问题
- CI的URL传递UTF-8中文编码问题解决方案及分页Demo
- Java值传递与引用传递问题
- c语言值传递,地址传递,引用传递
- 关于php和C语言接口的结构传递问题,udp,tcp通信
- C#中值传递问题
- request.getInputStream()读取post传递的xml文件问题
- Android问题—定义全局数据代替Intent传递数据
- iOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题