|
|
★ ★ ★ ★ 小木虫(金币+0.5):给个红包,谢谢回帖交流 nono2009(金币+3, 程序强帖+1):多谢专家。 2010-04-10 13:09
这可能缘于fortran的指针和C是不一样的,C里直接给指针赋值为0就代表(公认的,并不是语法规定的)空指针。而fortran里需要用nullify来给一个指针变量赋值为空。
同样因为fortran里的指针概念的不同,在Fortran里,每个对象的传递都是有指针完成的,所以head,既代表了头结点也代表了头指针。而p指针是要在链表里游走的。当然你也可以allocate(p)作为开始,但没有地方保存头指针了。
而allocate(p%nest)而不是allocate(p)这个问题你还是没有搞明白链表是怎么回事。p指向当前结点,而当前节点已经分配了啊,当然要allocate(p%next)了。 |
|