首页 > 代码库 > 动态内存

动态内存

在c语言中是malloc

  用法:#include

  或#include<stdlib.h>

  功能:分配长度为num_bytes字节的内存块

  说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。

  当内存不再使用时,应使用free()函数将内存块释放。

  malloc的语法是:指针名=(数据类型*)malloc(长度),(数据类型*)表示指针.

用free()释放内存

  举例

  // malloc.c

  #include

  #include

  main()

  {

  char *p;

  clrscr(); // clear screen

  p=(char *)malloc(100);

  if(p)

  printf("Memory Allocated at: %x",p);

  else

  printf("Not Enough Memory!\n");

  

  if(p)

  free(p);

  getchar();

  return 0;

  }

 

在c++中是new;

用delete()释放内存

#include"iostream"
using namespace std;
struct aaa
{
 int a;
 int c;
};
int main()
{
 aaa * fp = new aaa[10];//申请内存的大小
 fp->a = 10;//因为动态申请的内存没有名字,也不知道其地址,但它确实是存在的,通过指针来访问。
 fp->c=20;
 cout << fp->a << "," << fp->c << endl;
}

 

动态内存