| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 673 人关注过本帖
标题:常指针赋值
收藏  订阅  推荐  打印 
vfdff
Rank: 6Rank: 6
等级:金牌会员
威望:4
帖子:1201
积分:13367
注册:2005-7-15
常指针赋值

typedef char* pchar ;

pchar fname = "oyunde" ;
pchar buf = (char *)malloc(NUM);
   
strcat(fname,buf);
以上定义的指针fname为一个常指针,不能对其赋值
但是为什么使用fname = "oyuddnde" ;怎么正确呢 ?
搜索更多相关主题的帖子: 赋值  常指针  fname  pchar  buf  
2008-1-12 01:18
way3
Rank: 2
来自:湖南
等级:注册会员
帖子:83
积分:1106
注册:2007-12-8

我怎么就没有看出来他是常指针了?
2008-1-12 01:28
linsua
Rank: 3Rank: 3
等级:中级会员
帖子:275
积分:3186
注册:2008-1-2

这是兼容的问题;
C/C++开始是没有const 关键字的。
char*p ="abc";刚开始一直是这样写。
后来C++加入到const关键字,
代码应该这样写才对的const char*p="abc";
但是由于已经有成千亿上万亿的代码是以前的那种老式写法,为了兼容只好允许啊。

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-1-12 01:56
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:4
帖子:4128
积分:44851
注册:2006-12-28

楼上说的没错啊.支持一下
2008-1-12 11:22
vfdff
Rank: 6Rank: 6
等级:金牌会员
威望:4
帖子:1201
积分:13367
注册:2005-7-15
回复 3# 的帖子


原来const char*p="abc";才代表常指针
我感觉 "abc"是常数
而指针指向这个常数
所以是常指针
2008-1-12 12:45
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.052326 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved