数组004 动态创建一维数组
#include<iostream> using namespace std; // // 动态创建一维数组 在堆区开辟连续的内存: // 创建: // 数据类型 * 指针名 = new 数据类型[数组长度]; // 释放: // delete [] 指针名; // 注意: // 1、动态数组没有数组名,不能用sizeof关键字 // 2、可以用数组表示法和指针表示法两种方式使用动态数组 // 3、必!须!使用delete[] 释放new[]申请出来的内存(不能使用delete )!!!! // 4、不!要!用delete[] 去释放 不是new[]分配的内存 (c用的是malloc申请,free()释放) !!! // 5、不要用delete[]重复释放已经被释放的内存,那样相当于操作野指针 // 6、对空指针用delete[]是安全的,用完指针之后应该将指针置空,p = nullptr // 7、如果内存不足,调用new会产生异常,导致程序中止;如果在new关键字后面加(std::nothrow)选项, // 则返回nullptr,不会产生异常。 // // 为什么用delete[]释放数组的时候,不需要指定数组的大小?因为系统会自动跟踪已分配数组的内存。 // // // int main(void) { int* p = new (std::nothrow)int[10]; if (p == nullptr) { cout << "申请内存失败" << endl; } else { for (int i = 0; i < 10; i++) { p[i] = i; cout << p[i] << endl; } } delete[] p; p = nullptr; return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端