#include <stdio.h>
#define b 10 //define不可被指针修改,所以是安全的
int main(int argc, char *argv[])
{
const int a = 10;//const常量可以通过指针来修改所以是不安全的
printf("%d\n", a);
int* p = &a;
*p = 100;
printf("%d\n", a);
printf("%d\n", *p);
system("pause");
return 0;
}
地址指向值常量
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
const int* p;
//const修饰int*不能改变指针变量指向的内存地址的值
//但是可以改变指针指向的地址
p = &a;
p = &b;
*p = 100;
system("pause");
return 0;
}
地址常量
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
int* const p;
//const修饰指针变量,能改变指针变量指向的值,但是不能改变地址
p = &a;
p = &b;
*p = 100;
system("pause");
return 0;
}
地址常量值常量(可以用二级指针修改)
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10;
int b = 20;
const int* const p;
//const修饰指针变量,能改变指针变量指向的值,但是不能改变地址
p = &a;
p = &b;
*p = 100;
system("pause");
return 0;
}