C语言中引用及指针和引用的联系与区别
来源:互联网 发布:淘宝徐志摩诗集大全 编辑:程序博客网 时间:2024/05/17 01:46
引用:引用是一个变量的另一个名字,又称别名。定义方式:
int a=10;
int &b=a;在这里,意思就是给a变量起了一个新名字b,因此b不可再次被重新定义。
引用必须初始化,无空引用,并且引用不分等级。
引用与指针的异同点:
相同点:在引用中 int &b=a;这一句代码可被编译器看做int * const b=&a;//加上const的作用是表明指针b的自身的值(a的地址)不能改变,而指向的值(a的值)可以改变。也就是说引用相当于指针,引用与指针在编译时的方法一样,指向的都是变量的内存地址。
不同点:1.在定义方式中引用储存的是值,而指针是一个变量的拷贝,存储的是地址。
2.引用只能对已经存在的变量或对象实现引用,而指针则不需要,可以定义为空。
3.在函数的传参中,如果传递的是一个引用,意味着这个变量或对象已经存在了;如果传递的是一个指针,则不能判断这个指针是不是有效的,是不是空的,因此在函数体 中大多数都得进行指针是否为空的判断。但是虽然引用较为安全,但是利用指针来传参效率较快。
4.引用是直接访问变量,不用分配自己的内存空间,而指针是间接访问,需要定义,需要有自己的内存空间。
例:交换函数swap()
void swap(int &a,int &b){ int temp=a; a=b; b=temp;}void main(){ int x=10,y=20; swap(x,y);}
等价指针为:
void swap(int *const a,int *const b){ int tmp=*a; *a=*b; *b=temp;}void main(){int x=10,y=20;swap(&x,&y);}
阅读全文
0 0
- C语言中引用及指针和引用的联系与区别
- ~引用及与指针的区别/联系~
- C++中指针和引用的区别、联系及实例
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针与引用的区别和联系
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的区别与联系
- 豆瓣影视改编上线 IP运营能否杀出重围?
- 判断日期是否在7天之内
- 深入理解Feign之源码解析
- 复选框 全选 反选 全不选 提交
- hashset,hashmap,hashtable区别
- C语言中引用及指针和引用的联系与区别
- 59. Spiral Matrix II
- Package rdkafka was not found in the pkg-config search path.
- java 泛型的使用
- 微信小程序 --- 子目录json配置无法改变导航栏背景颜色等配置
- JavaScript知识夯实系列-5.语句
- Redis之集群删除-yellowcong
- OoenGL配置C++成功后程序测试
- Go语言特性