昨天看书发现对下面这些东西并没有完全了解:
1,指针与const
2, 指向函数的指针
刚刚看书,发现对指针好像一直有些东西理解不对, 先从指针开始 吧:)
A)指向指针的指针:定义使用**,例如:int ival = 1024; int *pi = &ival; int **ppi = π
B,指针和引用的区别?
引用总是指向某个对象,定义引用时没有初始化是错误的!给引用赋值修改的是该引用所关联的对象的值;引用一经初始化,就始终指向同一个特定对象。
C, 指向const 对象的指针:const double *cptr;
指针指向const对象,因此不允许用指针来改变其所指的const值。
本例中,允许给cptr重新赋值,使其指向另一个const对象,但不能通过cptr修改其所指对象的值。
也不能把一个const对象的地址赋给一个普通的非const对象的指针。
在实际程序中,指向const的指针常用作函数的形参。将形参定义为指向const 的指针,以此确保传递给函数的实际对象在函数中不因为形参而被修改。
D, const指针: 本身的值不能被修改。const指针必须在初始化时被定义。
int errNum = 0; int *const curErr = &errNumb;
不能使curErr指向其他对象。
E,指向const对象的const指针:
const double pi = 3.1415926; const double *const pi_ptr = π