我是菜鸟,请问,a是一个数组,del a 和 del a[]的区别是什么呢?

georgehappy 2004-09-16 03:02:39
我是一只菜菜菜鸟
...全文
255 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tycool 2004-09-17
  • 打赏
  • 举报
回复
单个,全部
难道不对吗?
yyxxh 2004-09-17
  • 打赏
  • 举报
回复
to ywhimis() :我做了一下,结果不一样,delete p只是删除了p[0];而delete [] p把p[0]至p[9]全删除了.
badboy118303 2004-09-17
  • 打赏
  • 举报
回复
就是删除单个跟全部的区别!
doolin 2004-09-16
  • 打赏
  • 举报
回复
pint = new int
delete pint

pintarray = new int[10];
delete [] pintarray

这2中形式的new 和 delete 必须对应起来使用,任何颠倒使用的行为都将可能导致不确定的结果.
miria 2004-09-16
  • 打赏
  • 举报
回复
int *p = new int[10];
delete p也一样的,可以测试一下!
zenglifa 2004-09-16
  • 打赏
  • 举报
回复
例如:
int* p;
p = ...
delet p

int* p = new int [10];
delete []p
miria 2004-09-16
  • 打赏
  • 举报
回复
以上两位说的在一定条件下说的是正确的!
对于基本数据类型delete a 和 delete [] a 没有什么区别,效果一样!
对于ADT/UDT delete a 和 delete [] a 却是两码事!前者只释放一个对象,而后者释放全部!切记
kinglonghr 2004-09-16
  • 打赏
  • 举报
回复
同上
grooving 2004-09-16
  • 打赏
  • 举报
回复
同上
kobefly 2004-09-16
  • 打赏
  • 举报
回复
前者释放一个元素
后者释放全部

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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