老问题了,关于指针传值的问题
来源:互联网 发布:算法的五个特征 编辑:程序博客网 时间:2024/05/20 18:19
程序一:#include <stdio.h>
void fun(int *a,int *b)
{ int *c;
c=a;a=b;b=c;}
main()
{ int x=3,y=5,*p=&x,*q=&y;
fun(p,q);printf("%d,%d,",*p,*q);
fun(&x,&y);printf("%d,%d\n",*p,*q);
} 结果是3,5,3,5
程序二:#include <stdio.h>
void swap(int *,int *);
main()
{ int x=30,y=20;
swap(&x,&y);printf("x=%d,y=%d\n",x,y);}
void swap(int *a,int *b)
{ int t;
t=*a;*a=*b;*b=t;}
结果是x=20,y=30为什么数值在这里交换了呢?
如图所示:
- fun()函数只是把形参a和b地址转换了一下,但最后输出的是p和q的所指向的内容,自然不会有变化;
- swap()函数把内存中的3和5调换位置,自然*p=5,*q=3,转换成功
0 0
- 老问题了,关于指针传值的问题
- 关于指针的问题
- 关于指针的问题
- 关于指针的问题
- 关于指针的问题
- 关于老项目增加功能的问题
- 关于一个指针取值的问题
- 关于二重指针的问题
- 关于“野指针”的问题
- 一个关于指针的问题
- 关于指针错误的问题
- 一个关于指针的问题
- 关于指针的引用问题
- 关于C的指针问题
- 关于几个指针的问题
- 一个关于指针的问题
- 关于指针的小问题
- 关于函数指针的问题
- 触发器介绍
- VS2008 Team Suite 蓝屏及解决办法
- JS中Null与Undefined的区别
- 给 datepicker 设定日期格式
- unity3d更改鼠标样式
- 老问题了,关于指针传值的问题
- 根据字符串获取资源id
- 安卓工具类-------->Toast统一管理类
- WinCE输入法 .
- leetcode_50_Pow(x, n)
- sqlite3notfound的解决办法
- liferay6.2 linux环境ext删除与重部署
- 约定优于配置
- 极光推送开发(一)