24小时热门版块排行榜    

查看: 1164  |  回复: 8

seu-ljc

木虫 (正式写手)

[求助] 指针指向赋值的困惑 已有1人参与

#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int n, char* ps[])
{
        char* cherry="randy";
        *(cherry+2)="i";
        cout<<"the array is '"<<cherry<<"'"<<endl;
       
        system("pause";
        return 0;

}

以上的代码,compile 后出现如下的错误。。。
1>pp.cpp
1>e:\pp\pp\pp.cpp(8) : error C2440: '=' : cannot convert from 'const char [2]' to 'char'
1>        There is no context in which this conversion is possible
1>Build log was saved at "file://e:\pp\pp\Debug\BuildLog.htm"
1>pp - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

指针指向赋值的困惑
QQ Photo20140609212329.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
seu-ljc: 金币+6, ★★★很有帮助 2014-06-20 13:39:36
用单引号将i括起来
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2014-06-20 13:25:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

seu-ljc

木虫 (正式写手)

引用回帖:
2楼: Originally posted by baobiao007 at 2014-06-20 13:25:08
用单引号将i括起来

你好,可以编译通过咯,但是运行的时候还是出现问题了·
Unhandled exception at 0x00ed2065 in pp.exe: 0xC0000005: Access violation writing location 0x00ed784e.
不知道是何原因?
3楼2014-06-20 13:39:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

seu-ljc

木虫 (正式写手)

引用回帖:
2楼: Originally posted by baobiao007 at 2014-06-20 13:25:08
用单引号将i括起来

详情请见附图~谢谢大神~
指针指向赋值的困惑-1
QQ Photo20140609212909.jpg

4楼2014-06-20 13:47:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

little虫虫

铁杆木虫 (小有名气)

0xC0000005:违规访问。
char* cherry="randy";  所定义的Cherry内存地址为只读属性
        *(cherry+2)="i"; 对只读属性的内存赋值必然会引发内存访问错误。
如果在windbg下调试已编译好的程序,用!address 0x00ed784e 命令会得到大致如下结果(手头无相关工具,只能给个不确切答案,见谅):

0:000>!address 0x00ed784e
XXXXXXXX : YYYYYYYY - 00001000  
                    Type     00020000 MEM_PRIVATE  
                    Protect  00000002 PAGE_READONLY <---注意这一项!  
                    State    00001000 MEM_COMMIT  
                    Usage    RegionUsageIsVAD
5楼2014-06-20 16:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

seu-ljc

木虫 (正式写手)

引用回帖:
5楼: Originally posted by little虫虫 at 2014-06-20 16:41:25
0xC0000005:违规访问。
char* cherry="randy";  所定义的Cherry内存地址为只读属性
        *(cherry+2)="i"; 对只读属性的内存赋值必然会引发内存访问错误。
如果在windbg下调试已编译好的 ...

那么想要实现这个功能要什么样的语句呢?
6楼2014-06-20 17:16:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

little虫虫

铁杆木虫 (小有名气)

引用回帖:
6楼: Originally posted by seu-ljc at 2014-06-20 17:16:33
那么想要实现这个功能要什么样的语句呢?...

改为这个试试看,
char cherry[]="randy";
* cherry+2='i';
7楼2014-06-20 17:36:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

little虫虫

铁杆木虫 (小有名气)

8楼2014-06-20 17:38:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

seu-ljc

木虫 (正式写手)

引用回帖:
7楼: Originally posted by little虫虫 at 2014-06-20 17:36:49
改为这个试试看,
char cherry[]="randy";
* cherry+2='i';...

#include <cstdio>
#include <cstdlib>
可以运行了,感谢虫虫


#include <iostream>
using namespace std;
int main(int n, char* ps[])
{
char cherry[]="randy";
*(cherry+2)='i';
        cout<<"the array is '"<<cherry<<"'"<<endl;
        
                system("pause";
        return 0;

}
9楼2014-06-24 10:46:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 seu-ljc 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 澳大利亚 Murdoch University 全奖博士招生(3个名额)地质化工冶金领域 +27 AI8RaGaPaSCR 2026-08-07 28/1400 2026-08-13 20:45 by ahfrCgoFVCRh
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +3 启萌科技 2026-08-12 10/500 2026-08-13 20:42 by hmhminy
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] filecode +14 documentary 2026-08-10 16/800 2026-08-13 16:39 by 润生71
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
信息提示
请填处理意见