#include <stdio.h>
int main() {
int a = 10;
int b = 20;
// 指向常量的指针
const int *p1 = &a;
printf("*p1 = %d\n", *p1); // 输出:*p1 = 10
// *p1 = 30; // 错误:不能修改指向的常量
// 常量指针
int *const p2 = &a;
printf("*p2 = %d\n", *p2); // 输出:*p2 = 10
*p2 = 30;
printf("*p2 = %d\n", *p2); // 输出:*p2 = 30
// p2 = &b; // 错误:不能修改指针本身的值
// 指向常量的常量指针
const int *const p3 = &a;
printf("*p3 = %d\n", *p3); // 输出:*p3 = 10
// *p3 = 40; // 错误:不能修改指向的常量
// p3 = &b; // 错误:不能修改指针本身的值
return 0;
} |