, 指针指向的数据是常量 , 不能被修改 ;
下面是错误示范 :
// 左数右指 , const 在指针左边 , 指针指向的数据不能被修改
int fun0(const Student *pS) {...pS->age = 20;
return 0;
}
如果强行修改指针指向的数据值 , 就会在编译时报错 :
表达式必须是可修改的左值
函数接收上述结构体类型变量作为参数 , 如果参数中...const 在 * 右边 , Student* const pS , 根据 左数右指原则 , 指针本身是常量 , 指针指向不能被修改 ;
下面是错误示范 :
// 左数右指 , const 在指针右边...表达式必须是可修改的左值
上述完整代码示例 :
// 导入标准 io 流头文件
// 其中定义了 std 命名空间
//#include
// 导入 std 命名空间
//using...2、代码示例 - 分析指针指向的值和实际常量值
修改上述代码 , 在不同的时间获取 *p 指向的内存空间值 和 常量 a 的值 ;
发现 使用指针 接收 常量 a 的地址 , 是在内存中重新分配内存并赋值为