指针与变量(或数组)的动态创建与释放
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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
2016-12-05 Ubuntu中Qt5.7.0无法输入中文
2016-12-05 Ubuntu中Qt+opencv图像显示