1、指针可以修改为指向不同的常量
2、指针可以修改为指向不同的变量
3、可以通过解引用来读取指针指向的数据
4、不可以通过解引用来改变指针指向的数据
#include<stdio.h>
int main()
{
int num=1024;
int* p = #
printf("%p %d\n",p,*p);
int temp = 1042;
p = &temp;
printf("%d\n",*p);
}
/*结果:00000032c2bffbc4 1024
1042*/
简单来讲就是不可以改变指针指向的数据,但是可以改变指针存储的地址
/*指向非常量的常量指针*/
#include<stdio.h>
int main()
{
int num = 1024;
const int cnum = 4201;
int * const p = # /* *号在const左,指向常量的指针;*号在const右常量指针*/
*p = 1025;
printf("%d ",*p); /*这里指针指向的数据可以改变*/
p = &cnum;
printf("%d",*p); /*这里会出现报错,因为这里的指针为常量指针,储存的内容不可改变*/
return 0;
}
/*指针自身不可以被修改;指针指向的值可以被修改*/
所谓常量,就是不变的量。
const后边的一切为不可改变量。
/*指向常量的常量指针*/
/*指针自身不可以被修改*/
/*指针指向的值也不可以被修改*/
#include<stdio.h>
int main()
{
int num = 1024;
const int cnum = 4201;
const int * const p = # /* *号在左,指向常量的指针;*号在右常量指针*/
*p = 1025; /*此时该位置会出现报错*/
printf("%d ",*p);
return 0;
}
/*另外说一嘴,这种霸气十足的定义,在正式开发中一般不会用*/