现在的位置: 首页 > 综合 > 正文

C语言和C++中动态申请内存

2012年04月23日 ⁄ 综合 ⁄ 共 544字 ⁄ 字号 评论关闭

C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即 #include<malloc.h>
或者是#include<stdlib.h>
然后用C语言的系统函数 void * malloc(usigned
size);
来获得动态分配的内存,这个函数参数是需要申请的内存的字节数,返回的是一个申请到的内存的首地址,这个返回的内存的类型是 void ,所以需要根据需要进行强制类型转换,例如 int *array; array= (int
*)malloc(sizeof(int)*10);
这样就动态申请到了一个有10int型变量的内存空间了。

   但是在C++中,似乎所使用的语句要简单一些,包含的头文件是#include<iostream.h>
申请内存不需要调用函数只要一个关键字new即可。例如 int *array; array=new int[10];    注意 int *array=new int(10);
不是申请10int型的空间,而是申请一个int型的内存空间,然后给他赋值为10。当然 如果用 int *a; a=new int;
那么就是得到了一个能存放int型数据的内存空间了。

CC++动态申请的内存在程序退出之前要释放掉,C语言使用free()函数,C++使用delete关键字。

抱歉!评论已关闭.