当前位置: 代码迷 >> C语言 >> “delete [] a,b; ” 的格式对吗?
  详细解决方案

“delete [] a,b; ” 的格式对吗?

热度:509   发布时间:2006-10-13 10:24:04.0
“delete [] a,b; ” 的格式对吗?

“delete [] a,b; ” 的格式对吗?

程序:

int n=100;

int *a,*b;

a=new int [n];

b=new int [n];

dosomething

delete [] a,b; //这样格式对吗?



[此贴子已经被作者于2006-10-13 10:26:30编辑过]

搜索更多相关的解决方案: delete  格式  

----------------解决方案--------------------------------------------------------

应该是delete [n] a,b;


----------------解决方案--------------------------------------------------------

为什么N在前面呢


----------------解决方案--------------------------------------------------------
对.
----------------解决方案--------------------------------------------------------
好象new和delete是C++中的东东......
不属于ANSI_C
----------------解决方案--------------------------------------------------------
以下是引用多维数组在2006-10-13 20:28:42的发言:
好象new和delete是C++中的东东......
不属于ANSI_C

恩,C里常用的是mallloc 和free();
----------------解决方案--------------------------------------------------------

以下是引用nuciewth在2006-10-13 10:35:40的发言:

应该是delete [n] a,b;

没见过这种形式.

我只见过
delete []a; 这种形式
----------------解决方案--------------------------------------------------------

以下是引用我不是郭靖在2006-10-13 21:20:19的发言:

没见过这种形式.

我只见过
delete []a; 这种形式

在哪见过,能举个例子吗?
----------------解决方案--------------------------------------------------------

以下是引用nuciewth在2006-10-13 21:33:50的发言:

在哪见过,能举个例子吗?

我在书上查到了,

delete [n] a;
delete [] a;
这两种格式都对,都是对动态数组的释放.delete [n] a;是比较老的写法.

书上说两种写法效果完全一样,

----------------解决方案--------------------------------------------------------


delete 指针 //释放非数组内存单元
delete[常量] 指针 //释放非数组内存单元

对于数组内存单元的释放,一定要带上[常量]部分,[常量]告诉delete数组有多少个元素.
如果没有这个部分,则只释放数组的第一个元素所占据的内存单元.
----------------解决方案--------------------------------------------------------

  相关解决方案