动态内存

Posted 成长中的利剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态内存相关的知识,希望对你有一定的参考价值。

在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;
}

 

以上是关于动态内存的主要内容,如果未能解决你的问题,请参考以下文章

玩转C语言动态内存,轻松管理动态内存空间

动态内存管理

Linux 动态库如何节约内存

关于动态内存管理的一些理解

动态内存管理

动态内存分配