| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1234 人关注过本帖
标题:[求助] const 常量指针问题!(已经加上注释分析,大家看下对吗)
只看楼主 加入收藏
terryf50
Rank: 2
等 级:论坛游民
帖 子:28
专家分:14
注 册:2007-5-25
结帖率:100%
收藏
 问题点数:0 回复次数:4 
[求助] const 常量指针问题!(已经加上注释分析,大家看下对吗)
有两个函数不会怎么修改,尝试了还是出错。请大家指教下。
一:
void main()
{
int x=58;
int y=98;
const int *p=&x;
y=*p;
*p=65;     //因为 const int * p 是指向常量的指针限定了*p的操作,但是可以用p=&y,改变*p 的指针指向,也可以用x=,改变x的值。
p=&y;
}
二:
void main()
{
int x=58;
int y=98;
z=55;
int * const p=&x;
*p=65;      
p=&y;       //因为int * const p 是常量指针,指针本身是常量,所以p= 操作不成立,但是*p=65就可以改变x的值。编译器把p看做是常量地址。
z=*p;
}

[[it] 本帖最后由 terryf50 于 2008-12-9 21:24 编辑 [/it]]
搜索更多相关主题的帖子: 常量 const 指针 练习 
2008-12-09 12:50
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
lz 要清楚
const int* ptr; 是 指向 常量的指针 不能 这样 *p=65;赋值的
int* const ptr 是常指针 不能 这样 p=&y; 赋值的
2008-12-09 13:23
h13077395959
Rank: 1
等 级:新手上路
威 望:1
帖 子:26
专家分:0
注 册:2007-11-16
收藏
得分:0 
Agree with Floor 2!
2008-12-09 16:57
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
const int* ptr;//const修饰int,int为指针指向的类型,故指向的数据不能改变
int* const ptr //const修饰指针ptr,故指针不能改变指向.

雁无留踪之意,水无取影之心
2008-12-09 19:34
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
收藏
得分:0 
楼上说的很对,很简练!

学习切忌浮躁.
2008-12-10 19:47
快速回复:[求助] const 常量指针问题!(已经加上注释分析,大家看下对吗)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022732 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved