Hallo,
Jan Rakelmann schrieb:
Wird dir entweder eine Zahl ausgeben, oder einen Speicherzugriffsfehler produzieren.
Dein Code erzeugt: b = 77 b = 0 <- und hier sollte ich eigentlich stutzig werden, ok dies ist ein Negativbeispiel
als Ausgabe auf Standard-Etch x86_64.
Halt gfortran, vermute ich. 4.2 und 4.3 von gestern machen das auch so.
Sinn und Zweck dieser Funktion ist nachwievor vor Speicherlöchern zu schützen, das Problem dabei ist allerdings immernoch 50 cm vor dem Monitor sitzend.
Ich habe mir oft in den Fuß geschoßen und viel Zeit bei Fehlersuche verbracht, also bin ich froh daß mir F95 sowas bietet.
Was die Demonstration zeigt: associated(x) macht nichts anderes, als in C/C++ x==0, bzw. associated(x,y) ist tatsächlich nichts anderes als Fall a) y ist ein Zeiger: x == y Fall b) y ist kein Zeiger x == &y
Was aber schon mal praktisch ist: deallocate(x) setzt x auch gleich auf den Nullpointer.
Tobias.