c和c++中&的用法及区别
来源:互联网 发布:瀚资软件咨询有限公司 编辑:程序博客网 时间:2024/06/05 16:07
c语言中的&
c语言中一般通过&来取地址,例如:
int x = 0; int *p = &x;//取地址符操作,将x的地址取出付给指针p scanf("%d",&x);//取地址符操作,将输入的数存入x的地址的内存中
同时还有作为逻辑且(&&)和按位且(&)的用途:
int x = 1; int y = 2; int num = x&y;//按位且赋值给num if((a==0)&&(y==0))//逻辑且判断条件 { …… }
c++中的&
但在c++中&既可以取地址也可以作为取引用符来使用,例如:
int x = 0; int &y = x;//取引用,通过改变y的值可以改变x的值 scanf("%d",&x);//输入数字,取地址,同样可以使用
取引用另一个比较有趣的地方就是函数的形参部分可以用取引用来改变实参的数值:
int main(){ int a = 0; int b = 0; …… return 0;}//交换变量void swap(int &a,int &b)//这里用&取引用来交换变量{ int tmp = a; a = b; b = tmp;}
在c语言中这只能通过指针来访问实参地址改变实参数值
相同的地方,c/c++中&都可作为逻辑运算符和按位且运算符
阅读全文
0 0
- C中->和*.的区别及用法
- c和c++中&的用法及区别
- C#: StringBuilder的用法及和String的区别
- C语言中数组名和指针的区别 及 sizeof用法
- C语言中break和continue的用法和区别
- c语言中break和continue的用法和区别
- C语言中,#include的用法:#include "" 和 #include<>区别
- typedef struct 在C和C++中用法的区别
- C语言中typedef的用法和#define区别
- C语言中scanf(),sscanf(),fscanf()的用法和区别
- C和C++中FindClass用法区别
- [c、c++]宏中"#"和"##"的用法
- [c、c++]宏中"#"和"##"的用法
- C和C++中全局变量及const变量的区别
- Java C 中static 的用法区别
- C中.和->的区别
- C中->和.的区别
- 在C#(C sharp)中数组和集合的区别及他们的初始化器
- xadmin遇到def save_models(self)的问题
- lua学习笔记(1)——lua简介和环境搭建
- CefSharp 集成谷歌浏览器详解---(一)环境搭建
- 文章标题 将图片从一个文件夹复制到另一个文件夹
- windows下共用JDK环境,同时启动多个tomcat具体步骤
- c和c++中&的用法及区别
- EasyMovieTexture使用总结
- Banner
- Foosun DotNetCMS2.0登录绕过漏洞
- 如何把Docker镜像分发速度提升90%
- eclipse+tomcat发布由maven构成的web项目lib资源共享问题
- bigemap一键离线地图发布工具(教程)
- Nginx+keepalived双机热备(主从模式)
- 同一网络环境下使用手机代理录制LR脚本