指针常量和常量指针的区别
1.指针常量定义的是一个常量,常量不可改变,因此必须在定义的时候初始化。
2.指针常量不可以改变指针指向的内存地址中的值;
常量指针 可以改变指针指向的内存地址中的值。
3.指针常量 可以改变指针指向的内存地址;
常量指针不可以改变指针指向的内存地址。
指针常量与常量指针
前言:重在记录,可能出错。
一、指针常量和常量指针的介绍
1.指针常量:即指针类型的常量。指针常量重在常量,常量是其本质,指针用来表示常量的类型。例如:int * const p = &a
2.常量指针:即指向常量的指针,指针是其本质。例如:int const *p = &a
或const int *p = &a
二、指针常量和常量指针的区别
1.指针常量定义的是一个常量,常量不可改变,因此必须在定义的时候初始化。
2.指针常量不可以改变指针指向的内存地址中的值;
常量指针 可以改变指针指向的内存地址中的值。
3.指针常量 可以改变指针指向的内存地址;
常量指针不可以改变指针指向的内存地址。
三、注意情况
1.指针常量int const *p = &a
中,const与p相邻,说明const是用来修饰p的,而相邻的修饰符是可以交换顺序的,因此int const *p = &a
与const int *p = &a
等价。
2.两个结合起来是什么呢?就是const int const *p=&a;
,即指向常量的常指针,也可以称为常量指针常量,其特点是一旦初始化之后,指针指向的内存地址和指针指向的内存地址中的值均不可改变。