- const修饰指针类型 const int* p=&a;
可以修改指针变量的值,不可以修改指针指向内存空间的值
- const 修饰指针变量 int* const p=&a;
可以修改指针指向内存空间的值,不可以修改指针变量的值
注:
二级指针可以修改一级指针
- const修饰指针类型 修饰指针变量 只读指针 const int* const p = &a;
指针变量的值和内存空间的值都不能修改,但是可以通过二级指针间接修改
代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
int main1()
{
// 常量
const int a = 10;// 存在栈区
//a = 100;//err
//指针间接修改常量的值
int p = &a;
p = 100;
printf(“%d\n”,a);
return 0;
}
int main2()
{
int a = 10;
int b = 20;
const int p = &a;
p = &b;
printf(“%d\n”, p);
return 0;
}
int main3()
{
int a = 10;
int b = 20;
int const p = &a;
//p = &b;//err
p = 200;
printf(“%d\n”, a);
return 0;
}
int main()
{
int a = 10;
int b = 20;
//const修饰指针类型 修饰指针变量 只读指针
const int const p = &a;
printf(“%d\n”, p);
//二级指针操作
int* pp = &p;
pp = &b;
printf(“%d\n”, p);
//p = &b;//err
//p = 100;//err
return 0;
}