一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

虽然前面讲过的用new给基本类型和对象在运行时分配内存,但它们的尺寸在编译时就已经确定下来——因为我们为之申请内存的数据类型在程序中有明确的定义,有明确的单位长度。

但有些时候,必须等到程序运行时才能确定需要申请多少内存,甚至还需要根据程序的运行情况追加申请更多的内存。

例如: int *x = new int[10];//x表示整型数组的数组名

实例:动态数组

 1 #include <iostream>
 2 #include <string>
 3 //让new函数申请内存并返回一个指向内存块的指针 
 4 using namespace std;
 5 int main()
 6 {
 7     unsigned int count = 0;
 8     
 9     cout << "请输入数组的元素个数:\n";
10     cin >> count;
11     
12     int *x = new int[count];//在程序运行时才申请内存,内存块指针指向x 
13     for(int i=0;i<count;i++)
14     {
15         x[i] = i;
16     } 
17     for(int i=0;i<count;i++)
18     {
19         cout << "x[" <<i << "]的值是:" << x[i] << "\n";
20      } 
21     
22     return 0;
23  } 
posted on 2023-08-18 15:11  一杯清酒邀明月  阅读(42)  评论(0编辑  收藏  举报