C++指针的问题,求高手解惑

第一个大问题,按理说这段内存是我申请的,为什么我释放的时候就会报错呢??,从结果上应该看是指针指向了字符串所在的内存,但是这段内存是怎么来的??声明一段字符串编译器就会弄... 第一个大问题,按理说这段内存是我申请的,为什么我释放的时候就会报错呢??,从结果上应该看是
指针指向了字符串所在的内存,但是这段内存是怎么来的??声明一段字符串编译器就会弄一段内存来存它??还有原来的内存怎么办?释放不掉了?

第二个问题,按理说这个i的的作用于应该在for循环里面吧,但是第二个最外层的for循环能直接用这个i
,这是为什么??
展开
 我来答
来自月岩仪态万千的比目鱼
推荐于2016-05-04 · TA获得超过1571个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:967万
展开全部
  1. 你申请的是单纯的明芦铅指针,而你释放的确实数组指针。so error。

  2. 这是不同的编译器的事激好情,导致变量的作用范围不同。在VC6.0中会出哗陆现你说的情况,而在VS中就不会。

种烧饼的怪叔叔
2014-10-17 · TA获得超过2214个赞
知道小有建树答主
回答量:824
采纳率:65%
帮助的人:447万
展开全部
1)ptr1="1321"这样的形式说明指针指向一段静态存储区里核禅一段内容为1321的字符串,指针对他没有支配权。这段空间的内容不能改变更加不能通过delete来清理。明氏世所以delete []ptr1是非法的
2)for里的激肢i作用域在整个函数里起作用域。int i;for (i=0;i<.....)和for (int i=0.....)是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-17
展开全部
  1. "1321"存储在常量区,不能用delete来清空。

  2. 编译器孝森问题,vc++6.0会有这问题。vs2008到以后就没有这罩慎塌个问题了。物圆

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式