C++动态创建一个一维数组 ,赋值 并显示每个元素的值,最后释放内存

如题所述

第1个回答  推荐于2016-01-01
#include<iostream>
using namespace std;
void main()
{
int*p,i;
p=new int[10];
for(i=0;i<10;i++)
p[i]=i;
for(i=0;i<10;i++)
cout<<p[i]<<" ";
cout<<endl;
delete[] p;
p=NULL;
}追问

可以讲解一下吗,谢谢

追答

#include
using namespace std;
void main()
{
int*p,i;
p=new int[10]; //用new 开辟10个int空间
for(i=0;i<10;i++) //对数组赋值
p[i]=i;
for(i=0;i<10;i++) //输出
cout<<p[i]<<" ";
cout<<endl;
delete[] p; //释放p所指内存 空间
p=NULL; //p不指向内存
}

本回答被提问者采纳

C++如何用new动态开辟一个一维字符数组
C++用new动态开辟一个一维字符数组步骤如下:1、new 分配内存,通用格式是:类型名 * 指针 = new 类型名;如 int * pi = new int;类型可以是基本数据类型、结构体、自定义类等。2、delete 来释放内存,通用格式是:delete 指针名;注意 delete 与 new 配对,只能释放 new 分配的内存。delete只能...

C++问题:如何定义一个未知大小的一维数组,数组大小由输入的值决定
int arraysize;\/\/元素个数 cout<<"请输入数组的大小:";cin>>arraysize;int *array;\/\/用指针指向一个数组 array=new int[arraysize]; \/\/动态内存分配 ...delete []array;\/\/最后要释放这个空间,是一组空间所以加了[]。array=new int[arraysize];new表示申请空间;什么类型?int;多大?array...

C++中,往一个一维数组中连续输入数值,为什么在超过数组元素个数后还能...
在此程序中赋值语句中a[5]=1000. a[5]已经超出了数组a所占的存储区域,从图上可以看出是变量x所占的单元。所以当将1000赋值给a[5]的时候实际上市将1000赋值给了变量x。 所以才会输出那样难以理解的结果 要是没定义变量x和y的情况下就应该不会输出a[5]=1000的 你可以试一下看(我没试...

C\/C++内存申请和释放(一)
在C语言中,动态内存申请主要通过malloc函数实现。其基本用法包括动态申请数组和动态申请数组指针。例如,当我们需要创建一个动态数组时,可以使用`int *array = (int*)malloc(n * sizeof(int));`来为指定长度的整数分配内存。除了malloc,还有其他内存申请方式。calloc函数可以同时分配内存并进行初始化,...

C++中如何动态创建字符串数组?
new 动态定义数组。因为new 就是用来动态开辟空间的,所以当然可以用来开辟一个数组空间。这样,下面的语句:int size=50;int *p=new int[size]; 是正确的。首先 new int[size][Column] 就是动态生成时确定的,所以它没有错。那么就是 int(*p)[Column],这句有问题了,这句为什么不对呢, 那...

c++如何用数组来模拟动态内存分配
一、你要定义一个数组,作为内存堆。二、把上面定义的数组分页,比如4个字节更大字节一页,记录下每一页地址,可以定义得很大,越大管理这些内存需要的内存越小,但是也容易造成内存利用率不够。三、上面分组后我们就可以定义一个结构体,大致包含内存页页号、是否已经被使用了,内存分配的唯一标识(...

c++中new和delete的用法
1、例如,我们动态创建了一个一维int数组arr,现在需要将它释放。2、这时只需要使用delete[]数组名即可。3、注意,要释放数组所占的内存,[]不能少。否则,用delete则不能完全释放数组所占内存空间。4、例如,我们为一个二维数组arr动态分配了内存空间。现在需要将它释放。5、这时候,单单使用一句...

c++动态定义数组长度
你可以先定义一个全局指针变量(如果要求整型数组的话就是int* a,字符型就是char* a等),指针你可以把它理解成数组int a[],这里数组a就相当于int*a,但这时指针还没有分配内存空间,只要分配了就相当于数组,但比数组的优势在于可以动态定义长度,如果分配了空间之后a中存储的值就是分配的空间的...

在C++中,如何对一个不确定大小的数组进行赋值?
cin>>n;int * a = new int[n];\/\/动态分配一个有n个数据的数组 while(n){ cout<<"输入数字"<<endl;cin>>x;a[i] = x;i++;n--;} \/* 自己的操作 *\/ delete[] a;\/\/这一句是必要的,释放内存 return 0;} \/\/vector的用法 include <iostream> include <vector> using namespace...

C++ STL :Vector内存分配与释放
文章标题:C++ STL:Vector内存分配与释放 文章内容:Vector内存相关介绍 相关函数:b.size():容器当前拥有的元素个数。b.capacity():容器在必须分配新存储空间之前可以存储的元素总数。b.push_back():在向量最后插入一个元素。在调用push_back时,若当前容量已经不能够放入新的元素(capacity=size),...

相似回答