C++练习题
声名 一个到常量整数的指针 一个到整数的常量指针 并初始化
很不好懂这个问题
问题点数:20、回复次数:12Top
1 楼naturemickey(米老鼠)回复于 2005-04-17 10:11:58 得分 6
int i;
const int* pa = i;
int const* pb = i;
int* const pc = i;Top
2 楼useresu(俗人)(灌水是我无言的抗议)回复于 2005-04-17 10:17:14 得分 9
int i;
const int * pa = i;//const数据,即一个到常量整数的指针
int const* pb = i;//同上,即一个到常量整数的指针,只是写法不同
int* const pc = i;//一个到整数的常量指针
const int * const pd = i;//一个到常量整数的常量指针
Top
3 楼inlin()回复于 2005-04-17 10:20:31 得分 0
int i;
const int * pa = i;
int const* pb = i
int* const pc = i
const int * const pd = i
Top
4 楼foru1971(虫子)回复于 2005-04-17 10:24:17 得分 0
int i=0,j=1;
const int *iPtr; //一个到常量整数的指针
(*iPtr)=j; //会报错,因为中指向常量的指针
int* const *jPtr=&i; //一个到整数的常量指针 并初始化
jPtr=&j;//会报错,因为是常量指针;Top
5 楼foru1971(虫子)回复于 2005-04-17 10:26:04 得分 0
sorry,应该是
int* const jPtr=&i; //一个到整数的常量指针 并初始化Top
6 楼zouwen198317(静悄悄)回复于 2005-04-17 10:26:37 得分 0
a o ~Top
7 楼sTigerwsk(++++++禽兽联合国总理兼国防部长--骗子++++++)回复于 2005-04-17 11:47:28 得分 0
*const 常量指针 前缀
const int x; //错误 没有初始化
char s[]="aaaa";
const char* p=s //指向常量
p[3]='e' //错误 改变常量
p=o //ok
char *const cp=s;//常量指针
const char *const cpc=s;//到常量的常量指针
定义常量指针的声明符是*const,没有const*声明符,在*前的const作为基础类型的一部分
大概就是这么个意思吧
Top
8 楼runweok(蓝翎)回复于 2005-04-17 13:00:14 得分 0
谢谢大家回答!
但是都编译出错!
useresu(俗人)给的回答,int* const pc =i,报错了,改成int* const pc =&i,常量指针,指针常量,俺的概念还有点模糊
int i;
const int * pa = i;//const数据,即一个到常量整数的指针
int const* pb = i;//同上,即一个到常量整数的指针,只是写法不同
int* const pc = i;//一个到整数的常量指针
const int * const pd = i;//一个到常量整数的常量指针Top
9 楼Salam2001(Upgrading : C++ and Data Structure ...)回复于 2005-04-17 13:13:27 得分 5
你只要看看 const 是在 "*" 的哪边就可以判断是什么类型的指针了。
如果只有一个在 "*" 的左边,那就是指向 const 数据的指针。
如果只有一个在 "*" 的右边,那就是指向非 const 数据的 const 指针。
如果两边都有,不用说了吧?Top
10 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2005-04-17 15:16:51 得分 0
upTop
11 楼greenteanet(扎扎实实打基础,保持一颗平常心。)回复于 2005-04-17 15:30:11 得分 0
upTop
12 楼CJLL0218(CJ_C\C++)回复于 2005-04-17 15:43:33 得分 0
赞同 useresu(俗人) !!Top




