Fortran Coder

关于指针数组传递数值的问题

查看数: 6371 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-12-12 01:23

正文摘要:

我今天写了一个关于矩阵展开的函数,作用是将四维数组沿每个维度展成二维矩阵,调用展开函数的时候发现了问题,我声明的指针数组在指向子函数中生成的二维矩阵时,数组每行最后两个值丢失,变成了极小数。是我指针传 ...

回复

necrohan 发表于 2019-12-13 07:55:08
紫雪封尘 发表于 2019-12-12 10:33
请问,我B4 实在主函数中allocate分配的内存空间,他在子函数结束之后也会被释放嘛 ...

不会。只有子程序声明的数组在子程序返回后消失,传递进来的数组不会消失。
紫雪封尘 发表于 2019-12-12 10:33:31
necrohan 发表于 2019-12-12 10:14
这个问题发的帖子重复了,http://bbs.fcode.cn/forum.php?mod=viewthread&tid=2160
但是这里代码比另一个帖 ...

请问,我B4 实在主函数中allocate分配的内存空间,他在子函数结束之后也会被释放嘛
necrohan 发表于 2019-12-12 10:14:03
这个问题发的帖子重复了,http://bbs.fcode.cn/forum.php?mod=viewthread&tid=2160
但是这里代码比另一个帖子完整,起码可以编译通过。
问题是一样的,B4在子程序结束后就释放了,指针B就没有意义了,在参数里多传一个数组作为指针指向的地址吧。
也可能截取的程序有问题。

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 04:07

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表