MST

星途 面试题库

面试题:Fortran指针基础与动态内存分配

在Fortran中,简述指针变量的声明方式,并举例说明如何使用ALLOCATE语句为指针分配动态内存。假设要创建一个一维整数数组的指针,长度由用户输入决定。
35.9万 热度难度
编程语言Fortran

知识考点

AI 面试

面试题答案

一键面试
  1. 指针变量的声明方式: 在Fortran中,指针变量声明使用POINTER关键字。例如,声明一个指向整数的指针变量:
    INTEGER, POINTER :: ptr_int
    
    对于数组指针,比如要声明一个指向一维整数数组的指针:
    INTEGER, POINTER :: int_array_ptr(:)
    
  2. 使用ALLOCATE语句为指针分配动态内存: 假设要创建一个一维整数数组的指针,长度由用户输入决定。示例代码如下:
    PROGRAM pointer_example
        IMPLICIT NONE
        INTEGER, POINTER :: int_array_ptr(:)
        INTEGER :: length
        WRITE(*,*) '请输入数组的长度:'
        READ(*,*) length
        ALLOCATE(int_array_ptr(length))
        ! 对分配好内存的数组进行操作,例如赋值
        int_array_ptr = [(i, i = 1, length)]
        WRITE(*,*) '数组元素为:'
        WRITE(*,*) int_array_ptr
        DEALLOCATE(int_array_ptr)
    END PROGRAM pointer_example
    
    在上述代码中,首先声明了一个指向一维整数数组的指针int_array_ptr。然后通过READ语句获取用户输入的数组长度length。接着使用ALLOCATE语句为指针分配长度为length的动态内存。之后对分配好内存的数组进行赋值操作并输出数组元素。最后使用DEALLOCATE语句释放动态分配的内存。