鑫泉花园东区:大哥们你看“常量指针和指向常量的指针”的问题咋搞的呀?晕!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 17:35:03
大哥们你看“常量指针和指向常量的指针”的问题,咋搞的呀?晕!
问题描述如下:
float a=10;
const float A=20;
float *const cp=&a; //指向实型的常量指针;指针的指向是固定的
const float *pc=&A; //必须指向常量实型的指针;
以上代码不会出错。
容易理解若写成float *const cp=&A;会出现类型转换错误,提示:无法从const float *类型转换为float *const类型!
但是为什么写成:
const float *pc=&a时编译器不报错
为什么不提示:无法从float *const类型转换为const float *类型呢?

这个问题我不大清楚,不过我举个例子说明常量指针和指向常量的指针的区别,定义一个数组a[3]={1,2,3} 那么a就是一个常量指针,*p=a,那么p就是指向常量的指针

const是什么?就是一旦定义就不可改变.
const float *pc = &a说明pc是一个指向float类型的指针且此指针的值不可改变.pc不正好指向a嘛.