C++ 怎么动态创建一个数组
时间: 2023-06-03 14:02:13 浏览: 96
要动态创建一个数组,可以使用动态内存分配函数malloc来实现。具体的做法是:
1. 声明一个指针变量,用于存放动态分配的内存的首地址。
2. 使用malloc函数动态分配一块内存,大小为元素个数乘以每个元素所占用的字节数。
3. 对内存进行初始化。
4. 使用这个指针变量来访问数组元素。
5. 在使用完毕后,使用free函数释放内存。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i;
int *arr;
printf("请输入数组的长度:");
scanf("%d", &n);
arr = (int*)malloc(n * sizeof(int)); // 动态分配内存
if (arr == NULL)
{
printf("内存分配失败!");
return 0;
}
for (i = 0; i < n; i++)
{
printf("请输入第%d个元素:", i + 1);
scanf("%d", arr + i); // 访问数组元素
}
printf("数组元素为:");
for (i = 0; i < n; i++)
{
printf("%d ", arr[i]); // 访问数组元素
}
free(arr); // 释放内存
return 0;
}
```
这个示例代码用于动态创建一个整型数组,首先从用户读入数组长度,然后使用malloc函数动态分配n个整型变量的内存,接着对这个数组进行初始化,最后输出这个数组的所有元素,最后通过free函数释放已经申请的内存。