如何动态分配三维数组内存
时间: 2023-12-30 18:15:01 浏览: 49
动态分配三维数组内存的方法和二维数组类似,只需要在声明数组时指定维度并加上 `allocatable` 属性,然后使用 `allocate` 命令动态分配内存即可。
下面是一个简单的例子,演示了如何动态分配一个大小为 `l` 层 `m` 行 `n` 列的三维数组:
```
program dynamic_3d_array_allocation
implicit none
integer, dimension(:,:,:), allocatable :: array
integer :: l, m, n, i, j, k
! 获取数组大小
print *, "请输入数组大小:"
read *, l, m, n
! 分配数组内存
allocate(array(l,m,n))
! 初始化数组
do i = 1, l
do j = 1, m
do k = 1, n
array(i,j,k) = i * j * k
end do
end do
end do
! 输出数组
print *, "数组元素为:"
do i = 1, l
do j = 1, m
do k = 1, n
print *, array(i,j,k)
end do
end do
end do
! 释放数组内存
deallocate(array)
end program dynamic_3d_array_allocation
```
在上面的例子中,我们声明了一个大小为 `l` 层 `m` 行 `n` 列的三维数组 `array`。然后通过 `allocate` 命令动态分配了数组的内存。接着对数组进行了初始化,并输出了数组元素。最后通过 `deallocate` 命令释放了数组的内存。
需要注意的是,在使用动态分配的三维数组时,我们可以像使用普通数组一样访问数组元素,例如 `array(i,j,k)`。同时也需要注意动态分配的内存在使用完之后需要手动释放,否则会造成内存泄漏。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)