指针与变量(或数组)的动态创建与释放
Posted xixixing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针与变量(或数组)的动态创建与释放相关的知识,希望对你有一定的参考价值。
1、变量内存的动态分配(创建)与释放:通过指针,动态间接赋值、取值
指针变量名=new 数据类型(初始值); 初始值可省略,后边再赋值。
delete 指针变量名;
#include<iostream> using namespace std; int main() { //int *p = new int; *p = 5; int *p = new int(5);//new运算符,动态创建一个int型变量(无变量名),值为5。 cout << *p;//输出所指地址的值 delete p;//释放指针变量的内存空间 return 0; }
2、一维数组的动态分配(创建)与释放:
指针变量名=new 数据类型[正整数常量、变量或表达式];
delete [ ]指针变量名;
#include<iostream> using namespace std; int main() { int *p = new int[5];//new运算符,动态创建一个int型数组(无数组名)。 *(p + 1) = 10;//赋值第2个元素 //或p[1]=10; cout << p[1];//输出所指地址的值 delete []p;//释放指针变量数组的内存空间 return 0; }
显示Fibonacci数列的前N项,0,1,1,2,3,5,8,…
#include<iostream> using namespace std; int main() { int N; cin >> N; int *p = new int[N]; //动态创建包含N个元素的数组 p[0] = 0; p[1] = 1;//给定第1、2元素的值,等效*p=0;*(p+1)=1; for (int i = 2; i < N; i++){ p[i] = p[i - 1] + p[i - 2]; } for (int i = 0; i < N; i++) { cout << p[i] << " "; } delete []p;//释放指针变量数组的内存空间 return 0; }
以上是关于指针与变量(或数组)的动态创建与释放的主要内容,如果未能解决你的问题,请参考以下文章