引用和指针有何区别?何时只能使用指针而不能使用引用?

   引用是一个别名,不能为 NULL 值,不能被重新分配;指针是一个存放地址的变量。当需要对变量重新赋以另外的地址或赋值为 NULL 时只能使用指针。

引用和指针的区别:
相同点:
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点:
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。

最新文章

  1. 关于RSA加密算法的长度限制问题
  2. 静态局部变量、静态全局变量、extern全局变量、自动变量 札记
  3. Android开发艺术探索笔记—— View(一)
  4. 使用jsonp进行跨域访问
  5. Hive分布式的数据仓库
  6. 在C#中读写INI配置文件(转)
  7. python中import失败解决的简单办法
  8. c缺陷与陷阱笔记-第二章 语法陷阱
  9. CHANGE DEFAULT FTP PORT FOR VSFTP
  10. linux 学习:环境变量设置
  11. The OpenGL pipeline
  12. c语言移位操作
  13. 浅谈Maven
  14. Python类的多态的例子
  15. Linux终端连接Linux服务器
  16. 使用SQL 提示优化sql
  17. Springcloud 的Eureka和ZooKeeper比较
  18. Lodop打印控件传入css样式、看是否传入正确样式
  19. (转)Awesome Knowledge Distillation
  20. C#中的 new Random()

热门文章

  1. 转载:PLSQL Developer使用技巧整理
  2. 用户认证auth模块
  3. shell入门-tr替换字符和split切割大文件
  4. 实现reentrantlock和读写锁
  5. 关闭socket以及Socket选项
  6. [原创]SQL 把表中某一个列按照逗号拼接成一行
  7. centos MAC 地址与报错eth0 unknown interface no such device
  8. Entity Framework Code-First(9.7):DataAnnotations - Table Attribute
  9. [转]Node.JS package.json 字段全解析
  10. LeetCode: 455 Assign Cookies(easy)