c语言中delete在哪个头文件中

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:17:18
以下释放二维数组有错吗?
for(i=0;i<n;i++)
{
delete []M[i];
}
delete []M;
那c++中的delete在哪个头文件中啊?

我写的这段代码出错如下:error C2018: unknown character '0xa1' 是什么错误啊?就指向释放二维数组那?

C语言没有delete,这是C++中的释放空间的方法,C语言中是用free()函数释放空间的,free()在stdlib.h中声明

这段程序的算法正确,可以在C++语言中使用,但不要在C语言程序中尝试。

1、delete()并不是C语言的库函数
delete()在c++中经常用到,但是其实它本身和new对应,并不是函数,而是关键词
在这里,和 sizeof 类似,new 和 delete 也不是函数,它们都是 C++ 定义的关键字,通过特定的语法可以组成表达式。和 sizeof 不同的是,sizeof 在编译时候就可以确定其返回值,new 和 delete 背后的机制则比较复杂。
delete 就做了两件事情:
调用 指向对象的析构函数,对打开的文件进行关闭。
通过标准库函数 operator delete 来释放该对象的内存,传入函数的参数为 对象 的值。

2、在C语言当中与new/delete对应的,malloc()/free()才是标准库函数,实现了类似功能。malloc()/free()在stdlib.h头文件中声明。

delete 不在任何头文件中,是关键字,就像 int, char一样。
你的程序写的是对的
那个分号要用英文的
中文;
英文;