每日一C之指针与引用
每天拾一个C语言贝壳,厚积薄发,积跬步以致千里。
今日贝壳:指针:一个数据对象的地址与引用:一个数据对象的别名之间的区别(不区分C/C++)
区别:
1. 空值:指针可以为空,悬空指针问题由此而来;引用无法为空,只有存在的数据对象才有别名。
2. 改变:指针可以更改;引用(别名)则不能易主。
3. 大小:指针是实体,大小为4字节(32位系统);引用仅为别名,大小为其依附数据对象的大小。
4. 安全:指针没有类型检查;引用有类型检查。
5. 访问:指针间接访问对象;引用直接访问对象。
小结:在函数参数传递中,指针与引用均可解决大块数据或对象传递效率低和空间开销大的问题。
Have a nice day !