码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 动态数组

时间:2017-09-21 18:06:16      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:let   使用   输入   动态数组   定义   class   一个   初始化   内存   

 在平常敲代码的时候  一般的题目会说明题目数据最大是多少   这时候 我可以把需要使用的数组按最大值开空间

但是在一些时候题目可能并不会告诉你最大值    它直接就是先输入一个n    然后输入n个数据   可不告诉你n的最大值

简单来说  就是  :普通的数组在编译的时候  我们就需要知道数组的大小   而动态数组的话就不需要

 

那我们来了解一下动态数组的使用:

 

每一个程序在执行的时候   都会占用一块可用的内存空间  用来存放动态分配的对象    此空间被称为“自由存储区”或者“堆”   

在C语言中   我们使用malloc和free来分配自由存储区的空间

在C++中   我们使用new   和   delete  来实现相同的功能

 

     int *a=new int[12];//创建空间为12的整数型数组
     string *str=new string[12];//创建string型数组
     int *b=new int[12]();//创建整数型数组   并初始化为0
     delete []a;//释放为a数组开辟的空间

从上面说的   并没有说明  为什么可以不在编译的时候   确定数组的大小    原因是我们在代码中应该这样使用

     int n;    cin>>n;
     int *a=new int[n];

也就是说   根据每一个测试案例的大小来开辟空间    这样就不会造成内存的浪费

 

另外在这提一下const型的动态数组    

const类型的动态数组    在你定义的时候   必须初始化   因为我们不能改变const类型的值

 

C++ 动态数组

标签:let   使用   输入   动态数组   定义   class   一个   初始化   内存   

原文地址:http://www.cnblogs.com/52why/p/7569397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!