这样的内存操作居然不会错。

KillADO 2006-08-03 11:03:36
char sz[10];
char *buf = new char[10];
strcpy(buf,"123456789");
delete [] buf;
strcpy(sz,buf);

但是:
char sz[10];
char *buf;
strcpy(buf,"123456789");
strcpy(sz,buf);
就会错了,为什么?
...全文
197 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyl168 2006-12-13
  • 打赏
  • 举报
回复
mark
章月庭 2006-08-03
  • 打赏
  • 举报
回复
Delete的含义是OS可以把刚才new的内存再使用了.但这个时候你去使用,会有可能正确,因为,系统没有来使用这个块内存,也可能不正确,因为系统已经用了,因为OS是多线程与多进程的
思危 2006-08-03
  • 打赏
  • 举报
回复
指针没有赋值或初始化,符合语法,编译器只会警告,不会出错。

就像你买10瓶酒,绝对合法,没人管你,最多提醒一下。但如果你非要都喝下去,那就可能出问题(也许兄弟你酒量很大,另当别论了)
thisisll 2006-08-03
  • 打赏
  • 举报
回复
char *buf;
strcpy(buf,"123456789");

buf没空间
不能strcpy

你要写成
char sz[10];
char *buf;
strcpy(sz,buf);
也能过

这种只会报Warning
不会报错
因为编译器不会去看你的指针是否能用


这种方法你多运行运行会DOWN掉的
kaiwen820223 2006-08-03
  • 打赏
  • 举报
回复
buf指针没有指向有效的内存区域,而却给他赋值,当然错了!
要想赋值,必须先让指针指向一个有效的内存区域!
cleverwyq 2006-08-03
  • 打赏
  • 举报
回复
buf指针指向未知区域
liutaoxwl 2006-08-03
  • 打赏
  • 举报
回复
delete[] buf; 只是标记这块内存无用了,以后可以再被分配使用。但是并没有清除buf中的内容,在被重新分配使用前他的内容还是123456789
pioneer_public 2006-08-03
  • 打赏
  • 举报
回复
char sz[10];
char *buf = new char[10];
strcpy(buf,"123456789");
delete [] buf;
strcpy(sz,buf);

这个可行是因为buf虽然给删除了,但是buf的地址不是NULL,所以可以拷贝吧
charkie 2006-08-03
  • 打赏
  • 举报
回复
如果没有buf = new char[10];根本就没有为buf分配空间,仅仅是定义了一个指针型的变量,当然不能行了。
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 Language: 中文 欢迎来到戈戈圈! 当你点开这个存储库的时候,你会看到戈戈圈的图标↓ 本图片均在知识共享 署名-相同方式共享 3.0(CC BY-SA 3.0)许可协议下提供,如有授权遵照授权协议使用。 那么恭喜你,当你看到这个图标的时候,就代表着你已经正式成为了一名戈团子啦! 欢迎你来到这个充满爱与希望的大家庭! 「与大家创造更多快乐,与人们一起改变世界。 」 戈戈圈是一个在中国海南省诞生的创作企划,由王戈wg的妹妹于2018年7月14日正式公开。 戈戈圈的创作类型广泛,囊括插画、小说、音乐等各种作品类型。 戈戈圈的目前成员: Contributors 此外,支持戈戈圈及本企划的成员被称为“戈团子”。 “戈团子”一词最初来源于2015年出生的名叫“团子”的大熊猫,也因为一种由糯米包裹着馅料蒸熟而成的食品也名为“团子”,不仅有团圆之意,也蕴涵着团结友爱的象征意义和大家的美好期盼,因此我们最终于2021年初决定命名戈戈圈的粉丝为“戈团子”。 如果你对戈戈圈有兴趣的话,欢迎加入我们吧(σ≧︎▽︎≦︎)σ! 由于王戈wg此前投稿的相关视频并未详细说明本企划的信息,且相关视频的表述极其模糊,我们特此创建这个存储库,以文字的形式向大家介绍戈戈圈。 戈戈圈自2018年7月14日成立至今,一直以来都秉持着包容开放、和谐友善的原则。 我们深知自己的责任和使命,始终尊重社会道德习俗,严格遵循国家法律法规,为维护社会稳定和公共利益做出了积极的贡献。 因此,我们不允许任何人或组织以“戈戈圈”的名义在网络平台或现实中发布不当言论,同时我们也坚决反对过度宣传戈戈圈的行为,包括但不限于与戈戈圈无关的任何...

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧