指向常量的指针常量,指向变量的指针常量,指向常量的指针变量的区别

来源:互联网 发布:北大口腔医院种植 知乎 编辑:程序博客网 时间:2024/05/29 03:05

1)指向常量的指针变量 指针本身的内容可改变,但不会通过该指针改变所指向的内容。例如: const int MAX=3; const int * iPointer = &MAX; iPointer = new int; 是合法的。 *iPointer=2;//非法 *iPointer += 3;//非法,它不可以改变指针所指向的内容。 应该明确,指向常量的指针是可以指向变量的。下列语句成立: int k=5; const int * iPointer = &k;

 2)指向变量的指针常量 (类似引用) 指针本身不会在运行时改变,但是指向内容可以改变。例如: int size = 5; int * const iConstPointer = &size; //指针常量必须在定义的时候初始化确定它的指(内容) iConstPointer = new int;//非法 (* iConstPointer)++;//合法

3) 指向常量的指针常量 不仅是指针本身不能修改,它所指向的内容也不能通过它改变。