C语言中*和&
来源:互联网 发布:广电网络个人工作总结 编辑:程序博客网 时间:2024/06/07 17:30
(一)
在定义时,* 是一个标识符,声明该变量是一个指针,比如说int *p; 那p就是一个指向int型的指针;
在调用时,
(1)*p是指指针p指向的那个变量,比如说之前有int a=5;int *p=a;那么p的值是a的地址,也就是指针p指向a,*p则等于a的值,即*p=5。
(2)&,则是引用,比如说有定义int a=5;再定义int b=&a;那么这里的b则引用a的值,即b=5,而再给b赋值:b=10,a的值也会变为10。
(二)
先定义有int x=0;和int *p=x;
1、若定义函数: void fun_1(int a){ a=5;} , 则调用:fun_1(x); 之后,x还等于0;因为fun_1函数只改变了形参a的值,a只是fun_1函数里的局部变量,调用fun_1(x)相当于是“a=x;a=5;”,x没变;
2、若定义函数:void fun_2(int &a){ a=5;} , 则调用:fun_2(x); 之后,x等于5;因为这里的a引用了x的值;
3、若定义函数:void fun_3(int *a){ *a=5;} , 则调用:fun_3(p); 之后,x也等于5;因为fun_3函数的参数a是一个指针,相当于a=p;*a则与*p指向同一地址,改变*a即改变*p即x
0 0
- C语言中#和##
- C语言中#,##和#@
- C语言中* 和 &
- C语言中*和&
- C语言中 || 和 &&
- C语言中#和##宏
- C语言预处理中#和##
- C语言中#和##用法
- C语言中.和->区别
- c语言中?和:是什么意思
- c语言中“|”和“||”区别
- C语言中##和#的用法
- C语言中指针和数组名小趣
- C语言中 ++ 和 * 的优先级
- C语言中变量和变量地址
- c语言中static 变量和函数
- C语言中static和extern比较
- C语言宏中#和##的作用
- android PopupWindow点击外部和返回键消失
- Hdu 5334 Virtual Participation (构造)
- git添加ssh公钥和私钥
- NEFU OJ 206 Prim生成树
- uva 12186 Another Crisis
- C语言中*和&
- Python爬虫(urllib2+bs4)+分析找出谁是水贴王(2)--数据分析
- NYOJ 91 阶乘之和
- java生成任意随机值,字符,数字,其它的都有你来
- nyoj 6 喷水装置(一)
- 微信开发学习总结
- jQuery数组API【笔记】
- 第143课: Spark面试经典系列之Reduce端OOM和shuffle file not found如何解决?
- 浏览器内核的解析和对比