Fortran Coder
标题:
语法问题
[打印本页]
作者:
我喝红茶
时间:
2022-9-10 23:16
标题:
语法问题
fortran代码 <character*(*) str> 与<character*(*) str(1:*)> 有什么区别吗
作者:
fcode
时间:
2022-9-11 12:27
character*(*) str
虚参 str 是一个单变量的字符串,长度假定。现代代码,推荐这样写 character(len=*) :: str
character*(*) str(1:*)
虚参 str 是一个字符串数组,每个元素的长度假定。数组的长度未指定。这种是非常危险的,非常容易越界并且不报错。很危险,谨慎使用
现代代码,推荐这样写 character(len=*) :: str(:)
参考
http://passarray.w.fcode.cn/
作者:
我喝红茶
时间:
2022-9-12 22:40
fcode 发表于 2022-9-11 12:27
character*(*) str
虚参 str 是一个单变量的字符串,长度假定。现代代码,推荐这样写 character(len=*) : ...
character*(*) str(1:*)
这个是一个字符串数组吗,相当于character str(10,10)这种字符串数组吗?
我理解的
后面的(1:*)是不是指定的是索引范围?
作者:
fcode
时间:
2022-9-13 08:29
character*(*) str(1:*)
类似于
character(len=*) :: str(1:*)
len=* 是说str的类型是 character 字符串长度为 * (假定)
str(1:*) 是说它是一维数组,数组长度为 1:*,看上面的参考链接。数组的传递方式。
欢迎光临 Fortran Coder (http://bbs.fcode.cn/)
Powered by Discuz! X3.2