标题:常指针赋值
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
 问题点数:0 回复次数:4 
常指针赋值
typedef char* pchar ;

pchar fname = "oyunde" ;
pchar buf = (char *)malloc(NUM);
   
strcat(fname,buf);
以上定义的指针fname为一个常指针,不能对其赋值
但是为什么使用fname = "oyuddnde" ;怎么正确呢 ?
搜索更多相关主题的帖子: 赋值 常指针 fname pchar buf 
2008-01-12 01:18
way3
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-12-8
得分:0 
我怎么就没有看出来他是常指针了?
2008-01-12 01:28
linsua
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2008-1-2
得分:0 
这是兼容的问题;
C/C++开始是没有const 关键字的。
char*p ="abc";刚开始一直是这样写。
后来C++加入到const关键字,
代码应该这样写才对的const char*p="abc";
但是由于已经有成千亿上万亿的代码是以前的那种老式写法,为了兼容只好允许啊。

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-01-12 01:56
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
楼上说的没错啊.支持一下
2008-01-12 11:22
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 3# 的帖子

原来const char*p="abc";才代表常指针
我感觉 "abc"是常数
而指针指向这个常数
所以是常指针
2008-01-12 12:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-197127-1-1.html




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

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