cqflhl 发表于 2024-9-1 11:23:20

数组元素为0的参数传递是否有风险

主程序向子程序传入数组A, 可能是1/2/3维, 其中某一维或几维大小是0
子程序直接定义接收的数组REAL:: A(a,b,c)      !abc其中一个或多个=0

有没有可能 出现 Program Exception-access violation

如果有0大小出现, 是不是自动认为空元素, 不会影响其他参数的传入

fcode 发表于 2024-9-1 20:49:08

等等,如果其中一个维度大小为0,那整个数组的大小就是0。
会不会这些维度的大小应该为 1 呢?

cqflhl 发表于 2024-9-23 10:53:29

fcode 发表于 2024-9-1 20:49
等等,如果其中一个维度大小为0,那整个数组的大小就是0。
会不会这些维度的大小应该为 1 呢? ...

目前没有发现, 0大小传入, 并不影响后面的变量传递

kyra 发表于 2024-9-23 11:08:10

语法层面没有问题,Fortran语法是明确支持大小为 0 的数组的,但逻辑层面很容易出问题。
如果你非常确信自己的逻辑能力很强,当然可以信任自己这么做。
页: [1]
查看完整版本: 数组元素为0的参数传递是否有风险