1、指向常量的指针,防止通过指针去修改变量的值,而不管变量是否我const
int x =3;
const int *pc = &x;
*pc = 888;
printf("x=%d\n",x);
2、指向常量的指针,该指针可以指向别的变量,指针的value是可以更改的;
pc = &bb ; //可以
3、指向常量的指针,不能赋值给一个普通的指针;
定义基本类型的const变量 const在哪都可以;
const Int x=2,y=3;
定义一个非const变量;
int z =3;
定义一个指向常量的指针;。。常指针!!!保护指针不被修改
const int *pc = &x;
定义一个常指针;
int *const cp = &z;
定义一个非const 指针
int *pp = &z;
z=y; //const 变量只能做右值,不能做左值
x = y x是const变量,所以x的值是不可修改的
pc = &z;//pc是指向常量的指针,不能通过该指针修改指针所指的内存空间的值
//但是,该指针可以指向别的变量;
*pc = 10;//this is false because this *pc 是一个指向常量的指针;
*pc = y;//同上;
pc = pp;//pc是一个指向常量的指针。pp是一个普通的指针,用一个普通的
// 指针给一个指向常量的指针赋值是可以的;
pp = pc;//用一个指向常量的指针赋值给一个普通指针 ;不可以;
//如果可以,那么就可以通过普通指针去修改内存空间的值了,
z= 5;给一个非const的变量赋值
z= x;//const 给非const 去赋值也是可以的额!!!!
*cp = x;//通过常指针去修改指针指向变量的值,原则上来讲是可以的;
//如果指向的变量是const的,那么不同编译会有不同的结果;
cp = &x;//常指针 指针的值不能被修改。给常指针的地址错误的
int swap (const int*)保护内存区域不被修改
pp = &x;//可以。,非const指针;!!!!!!!!!!!!!
const char* str;;//指向常量的指针;指针是不可修改内容,但是是可以被读取的
不能赋值给一个普通指针;