#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main01()
{
//常量
const int a=10;
//a=100;//err不能修改
//通过指针间接修改常量的值
int*p=&a;
*p=100;
printf("%d ",a);
printf("%d ",*p);
return 0;
//结果
}
int main02()
{
//const修饰指针类型,可以修改指针变量的值,不可以修改指向内存空间的值(const紧挨谁则不能修改谁)
int a=10;
int b=20;
const int*p=&a;
//*p=100;//err
p=&b;
printf("%d ",*p);
return 0;
//结果
}
int main03()
{
//const修饰指针变量:可以修改指针指向内存空间的值,不可以修改指针变量的值(const紧挨谁则不能修改谁)
int a=10;
int b=20;
int*const p=&a;
//p=&b;//err
*p=20;
printf("%d ",*a);
return 0;
//结果
}
int main04()
{
//const修饰指针类型,修饰指针变量
int a=10;
int b=20;
//只读指针;一级指针存储普通变量a的值
const int* const p=&a;
//*p = 100;//err
//p = &b;//err
//通过二级指针指向一级指针对应的空间,存储一级指针p的值;再通过二级指针可以间接修改一级指针的值,也可以修改一级指针指向内存空间的值
int**pp=&p;
//通过二级指针里的一级指针,修改对应内存空间的值
* pp=&b;
printf("%d ",*p);
//修改一级指针对应的内存空间的值
**pp=100;
printf("%d ",*p);
return 0;
//结果
}