要是记不住可以试试:
用 * 代表指针,用 const 代表常量 (数据类型和指针通常粘在一起)
“指针常量” 就是 先指针后常量:int* const p = &a;
“常量指针” 就是 先常量后指针:const int* p = &a;
哪个在前就是哪个不可变
“指针常量”:指针在前,即指针的指向不可改变
“常量指针”:常量在前,即数据值不可改变
指针常量:const 修饰常量
指针指向不可改,值可以改
int a = 5; int b = 10;
int* const p = &a; //指针常量
p = &b; //不可以,指针指向不可改
*p = 100; //可以,指向的值可以改
常量指针:const 修饰指针
指针指向可以改,值不可以改
tips:不可以通过指针修改值,但是可以修改变量的值
int a = 5; int b = 10;
const int* p = &a; //常量指针
p = &b; //可以,指针指向可以改
*p = 100; //不可以,指向的值不可改
a = 100; //可以,a是变量,不是常量
const 既修饰指针,又修饰常量
指针指向和所指变量的值都不可以改
int a = 5;
const int* const p = &a;