c语言常量
常量:
int main(){
int const a = 100;
a = 10000; //错误,不能改变值
//可以通过指针改变
int *p = &a;
*p = 1000;//改变了a的值
}
常量指针:保护指针指向空间的值不能变.
#include <stdio.h>
int main(){
int a = 100;
int b = 50;
const int *p = &a;
p = &b ; //可以改变地址
*p = 7;//非法,不能改变
p=&b;
}
指针常量:指针指向不能变化,但是值可以变化
#include <stdio.h>
int main(){
int a = 100;
int b = 50;
int *const p = &a;
*p = 1000;
p = &b; //不能改变地址
}
双重:
#include <stdio.h>
int main(){
int a = 100;
int b = 50;
const int *const p = &a;
*p = 1000;//不能改变值
p = &b; //不能改变指向
}