new运算符(1)

C++利用new操作符在堆区开辟数据

堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete

语法:new 数据类型

利用new创建的数据,会返回该数据对应数据类型的指针

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 
 5 //1.new的基本语法
 6 int * fun(void)
 7 {
 8     //在堆区创建一个整型的数据
 9     //new返回的是该数据类型的指针
10     int *p = new int(10);
11     return p;
12 }
13 
14 void test_01(void)
15 {
16     int *p = fun();
17     cout << *p << endl;
18     cout << *p << endl;
19     cout << *p << endl;
20     //堆区的数据,由程序员开辟,也由程序员释放
21     //如果想释放,在需要释放的地方使用关键字delete
22     delete p;
23     
24     //cout << *p << endl;//内存已经释放,再次访问就是非法操作
25 }
26 
27 void test_02(void)
28 {
29     //创建10个整型数据的数组
30     int *p = new int[10];
31 
32     for (int i = 0; i < 10; i++)
33     {
34         p[i] = i + 100;
35     }
36 
37     for (int i = 0; i < 10; i++)
38     {
39         cout<<p[i]<<endl;;
40     }
41     //释放堆区数组
42     //释放数组的时候,要加[]
43     delete []p;
44 }
45 
46 int main(void)
47 {
48     //test_01();
49     test_02();
50 
51     system("pause");
52     return 0;
53 }

 

posted @ 2020-04-13 22:29  坦率  阅读(196)  评论(0编辑  收藏  举报