版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3301)
>
虫友互识
(371)
>
文献求助
(205)
>
导师招生
(190)
>
休闲灌水
(94)
>
硕博家园
(76)
>
考博
(51)
>
博后之家
(34)
>
基金申请
(33)
>
绿色求助(高悬赏)
(32)
>
招聘信息布告栏
(31)
>
论文道贺祈福
(30)
>
教师之家
(24)
>
找工作
(19)
>
考研
(19)
>
论文投稿
(17)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
allocate与data共存的问题
15
1/2
返回列表
1
2
下一页
查看: 2185 | 回复: 14
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
koorb
铁虫
(初入文坛)
应助: 0
(幼儿园)
金币: 57.3
帖子: 30
在线: 9.8小时
虫号: 1477156
注册: 2011-11-05
性别: GG
专业: 固体力学
[
求助
]
allocate与data共存的问题
Fortran代码:
integer, allocatable::num(
allocate( num(2) )
data num /2*3/
程序报错,This is an invalid DATA statement object。请指点一下!谢谢!
回复此楼
» 猜你喜欢
酰胺脱乙酰基
已经有11人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有5人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有5人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有6人回复
面上项目申报
已经有3人回复
博士延得我,科研能力直往上蹿
已经有7人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
遇见不省心的家人很难过
已经有22人回复
» 本主题相关价值贴推荐,对您同样有帮助:
公派身份问题
已经有9人回复
关于接受文章的出来问题?
已经有4人回复
关于磁力循环泵和流量计的问题
已经有4人回复
脆性基体纤维复合材料的界面问题
已经有9人回复
沼气工程的几个问题
已经有4人回复
清除羟自由基能力的问题
已经有5人回复
新手求助关于中科院的问题一二··
已经有7人回复
想咨询一下YAG晶体生长的问题
已经有15人回复
TLC摸展开剂条件的问题
已经有15人回复
bl21超声破壁问题
已经有4人回复
安装出现问题了 licensing
已经有14人回复
MTT法求助--药物溶解问题
已经有10人回复
请教大家关于药品辅料没有批文的问题
已经有5人回复
求助,同时使用read_data和create_atoms的问题
已经有4人回复
增强壁面函数与壁面粗糙度共存问题
已经有6人回复
ATK计算错误:Error: Not enough space to allocate,求解决!
已经有10人回复
天道
1楼
2011-11-10 09:51:32
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
散金: 275
红花: 1
帖子: 699
在线: 102.6小时
虫号: 913482
注册: 2009-11-26
性别: GG
专业: 凝聚态物性 II :电子结构
【答案】应助回帖
★
jjdg(金币+1): 感谢参与 2011-11-10 13:07:33
F90的话,不用Data也行啊。直接num=/()/这样的语法就行。
赞
一下
(1人)
回复此楼
2楼
2011-11-10 11:14:42
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
散金: 275
红花: 1
帖子: 699
在线: 102.6小时
虫号: 913482
注册: 2009-11-26
性别: GG
专业: 凝聚态物性 II :电子结构
【答案】应助回帖
xzhdty: 谢谢参与 2011-11-10 12:13:24
koorb(金币+2): 谢谢! 2011-11-10 13:17:39
example:
CODE:
program test
integer, allocatable :: num(:)
integer i
allocate (num(10))
num = (/(10, i=1,10)/)
print *, num
end program test
赞
一下
(1人)
回复此楼
3楼
2011-11-10 11:24:51
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★
余泽成(金币+1): 谢谢参与应助! 2011-11-10 21:48:06
引用回帖:
1楼
:
Originally posted by
koorb
at 2011-11-10 09:51:32:
Fortran代码:
integer, allocatable::num(
allocate( num(2) )
data num /2*3/
程序报错,This is an invalid DATA statement object。请指点一下!谢谢!
即使在 Fortran 77 中这么用也是不正确的啊, data 必须出现在所有可执行程序之前……
你的这种情况直接 num = 3 就可以了,呵呵……
赞
一下
(1人)
回复此楼
4楼
2011-11-10 13:21:56
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
koorb
铁虫
(初入文坛)
应助: 0
(幼儿园)
金币: 57.3
帖子: 30
在线: 9.8小时
虫号: 1477156
注册: 2011-11-05
性别: GG
专业: 固体力学
引用回帖:
4楼
:
Originally posted by
snoopyzhao
at 2011-11-10 13:21:56:
即使在 Fortran 77 中这么用也是不正确的啊, data 必须出现在所有可执行程序之前……
你的这种情况直接 num = 3 就可以了,呵呵……
“data必须出现在所有可执行程序之前”这种说法在90里是不正确的,在77里我没法验证。
赞
一下
回复此楼
天道
5楼
2011-11-10 13:29:08
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
koorb
铁虫
(初入文坛)
应助: 0
(幼儿园)
金币: 57.3
帖子: 30
在线: 9.8小时
虫号: 1477156
注册: 2011-11-05
性别: GG
专业: 固体力学
刚才测试,
integer array(1E8)
通过。
但换一种方式,定义一个可变数组
allocate(1E8)就不可以了,
allocate (1E5)可以。
1.求解释
2.求动态分配大数组的方法
赞
一下
回复此楼
天道
6楼
2011-11-10 13:44:07
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
引用回帖:
5楼
:
Originally posted by
koorb
at 2011-11-10 13:29:08:
“data必须出现在所有可执行程序之前”这种说法在90里是不正确的,在77里我没法验证。
给个可以出现在可执行程序之后的例子看一下吧……
赞
一下
回复此楼
7楼
2011-11-10 18:39:57
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
koorb
铁虫
(初入文坛)
应助: 0
(幼儿园)
金币: 57.3
帖子: 30
在线: 9.8小时
虫号: 1477156
注册: 2011-11-05
性别: GG
专业: 固体力学
引用回帖:
7楼
:
Originally posted by
snoopyzhao
at 2011-11-10 18:39:57:
给个可以出现在可执行程序之后的例子看一下吧……
其实,你自己完全可以验证的。
integer :: num(5)
print *, num
data num /5*3/
print *, num
反正我这里可以运行出结果。data在print这条执行语句之后。
赞
一下
回复此楼
天道
8楼
2011-11-11 07:43:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★
jjdg(金币+1): 感谢参与 2011-11-12 00:45:03
可以跑得通,但不知道如何解释它们的结果:
CODE:
program test
integer :: num(5)
print *, num
data num /5*3/
print *, num
end program test
D:\>gfortran -Wall -std=f95 zvv.f90
D:\>a
3 3 3 3 3
3 3 3 3 3
CODE:
program test
integer :: num(5)
num = 5
print *, num
data num /5*3/
print *, num
end program test
D:\>gfortran -Wall -std=f95 zvv.f90
D:\>a
5 5 5 5 5
5 5 5 5 5
赞
一下
(1人)
回复此楼
9楼
2011-11-11 13:29:58
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
koorb
铁虫
(初入文坛)
应助: 0
(幼儿园)
金币: 57.3
帖子: 30
在线: 9.8小时
虫号: 1477156
注册: 2011-11-05
性别: GG
专业: 固体力学
引用回帖:
9楼
:
Originally posted by
snoopyzhao
at 2011-11-11 13:29:58:
可以跑得通,但不知道如何解释它们的结果:
[code]
program test
integer :: num(5)
print *, num
data num /5*3/
print *, num
end program test
D:\>gfortran -Wall -std=f95 zvv.f90
...
Data是用来赋初值的,这一点毫无疑问。无论你把它放在哪它都是只能是初始化一个数组变量,再有赋值语句当然将它覆盖了。
我发帖的本意是想问问,对于一个动态分配维数的数组,为什么不能用data初始化。用其它的方法是可以给它赋值的,我只想知道为啥不能用data来赋初值。
赞
一下
回复此楼
天道
10楼
2011-11-14 06:47:30
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
koorb
的主题更新
15
1/2
返回列表
1
2
下一页
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定