c语言const修饰
如图
红色方框内的为错误语句
代码
//============================================================================
// Name : 06const修饰指针.c
// Author : ccc
// Version :
//============================================================================
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main601() {
//1、这种方式不安全 可以通过指针修改
//通过指针const修饰的常量
const int a = 10;
int *p = &a;
*p = 100;
printf("%d\n",a);
printf("%d\n",*p);
return 0;
}
int main602() {
int a = 10;
int b = 20;
//2、如果const 修饰 int * 不能改变指针变量指向的内存地址的值
// 但是可以改变指针指向的地址
const int * p;
p = &a;
// *p = 100;
p = &a;
p = &b;
printf("%d\n",*p);
return 0;
}
int main603() {
int a = 10;
int b = 20;
//3、const修饰指针变量 能改变指针变量指向地址的值
// 但是不能改变指针指向的地址
int * const p = &a;
*p = 100;
//p = &b;
printf("%d\n",*p);
return 0;
}
int main604() {
int a = 10;
int b = 20;
//4、const修饰指针类型 也修饰指针变量 那么不能改变指针指向的地址 也不能修改指针指向的值
const int * const p = &a;
//p = &b;
//*p = 100;
return 0;
}