1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
#include <iostream> // 输出流库 using namespace std; // 使用标准命名空间 // 课程:new创建语法、delete释放 // 1、new基础语法 int *func() { // 在堆区创建整形数据 // new返回是 该数据类型的指针,使用对应指针接收 int *p = new int(10); return p; } // 打印输出new创建堆区数据 void test01() { int *p = func(); // 当前堆区指针不释放一直存在 cout << *p << endl; cout << *p << endl; cout << *p << endl; // 使用关键词 delete 来释放指针堆区的数据 delete p; cout << *p << endl; // 堆区指针数据释放之后指向未知位置报错 } // 2、在堆区利用new创建数组 void test02() { // 在堆区,创建10个整形数据的数组 int *arr = new int[10]; // 区分括号的应用,()是赋值,[]是有对应个元素 for (int i = 0; i < 10; i++) { arr[i] = i + 100; // 给10个元素赋值100 ~ 109 } cout << "------ 打印new数组 ------" << endl; for (int i = 0; i < 10; i++) { cout << arr[i] << endl; } // 释放堆区数组 // 释放数组的时候,要加上[]告知系统是数组才可以 delete[] arr; } // 程序入口函数 int main() { system("chcp 65001"); // 临时设置UTF-8编码 // test01(); test02(); system("pause"); // 控制台暂停,等待下一步操作 return 0; // 结束返回值:0 } |
10.5 内存四区-new运算符
未经允许不得转载:Ai分享 » 10.5 内存四区-new运算符