const 关键字
1.在const 关键字的修饰下,变量就会失去可修改的特性,变成只读的属性.
const int num = 4;
num = 3; //试图修改常量的行为将会导致程序出错.
2.指向常量的指针
指针可以指向被const修饰过的变量
int num = 520;
const int cnum = 880;
const int *pc = &cnum;
//尝试修改指针pc引用的值(*pc),将会出错
*pc = 1024; //报错
//修改指针pc的指向,编译器不会阻止
pc = #
总结:
1> 指针可以修改指向不同的常量
2> 指针可以修改为指向不同的变量
3> 可以通过解引用来读取指针指向的数据
4> 不可以通过解引用修改指针指向的数据
3.指向非常量的常量指针
如果想让指针也不可变,那么就可以使用常量指针,用const关键字修饰即可
int num = 520;
const int cnum = 880;
int *const p=#
*p = 1024; //这是可以的
p = &cnum; //这是禁止的
总结:如果常量指针指向的对象是一个普通的变量,称为指向非常量的常量指针
有如下特性:
1>指针自身不可被修改
2> 指针指向的值可以被修改
4.指向常量的常量指针
const int num = 880;
const int * const p = #
指针自身不能被修改,它所指向的数据也不能通过指针进行解应用来性爱
如果初始化时指向的对象不是const修饰的变量,那么仍然可以通过变量名直接修改它的值
int num = 520;
const in * const p = #
*p = 1024; //可以
总结:
1> 指针自身不可以被修改
2> 指针指向的值也不可以被修改