Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152150
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 405
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-23 14:38
文章分类

全部博文(47)

文章存档

2017年(7)

2016年(4)

2015年(19)

2014年(17)

我的朋友

分类: C/C++

2014-12-04 22:34:07

 在我们声明各种类型的变量时,电脑会自动给我们声明的变量分配存储空间,像char是一个字节,但是当我们不确定自己的输入是多大空间时我们就需要分配动态内存。
  先说说C中的动态内存分配,它靠的是malloc(),realloc(),calloc(),free()函数进行内存的分配和释放。
  C++中不同,它依靠操作符new和delete。使用new后返回的是一个指针。

C++语言中用new和delete来动态申请和释放内存。

    1. 申请单个对象

  int *p;

  p=new int;或者 p=new int(value);

  2. 动态申请数组

  int *p;

  p=new int [100];

  这样可以申请长度为100的数组,但是不能进行初始化。

 3. delete

  int *p, *q;

  p=new int;

  q=new int[10];

  delete p;

  delete [ ]q;

阅读(1149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~