There are only four kinds of values that may be used to initialize or assign to a pointer:
- A constant expression with value 0
- An address of an object of an appropriate type
- The address one past the end of another object.
- Another valid pointer of the same type
pointer and reference
使用引用和指针都可间接访问另一个值,但它们之间存在两个重要区别:
(1)引用总是指向某个确定对象(事实上,引用就是该对象的别名),定义引用时没有进行初始化会出现编译错误;
(2)赋值行为上的差异:给引用赋值修改的是该引用所关联的对象的值,而不是使引用与另一个对象关联。引用一经初始化,就始终指向同
一个特定对象。给指针赋值修改的是指针对象本身,也就是使该指针指向另一个对象,指针在不同时刻可指向不同对象(只要保证类型匹
配)。