Bonjour.
Venant à l'origine du monde du C++, je sais dans ce langage ce que fait le compilateur quand je décide de travailler par référence ou par valeur dans une fonction.
Mais ici, Fortran me pose quelques soucis : dans une subroutine sensée travailler sur des tableaux dynamiques passés en argument que se passe-t-il concrètement en mémoire : le programme travaille-t-il avec les tableaux originaux ou des copies ?
Imaginons que je veuille faire une routine d'allocation de ce type :
Est-ce que cette portion de code fait ce que je veux faire (allouer les tableaux passés en argument en travaillant par référence), ou sinon quelle est la syntaxe correcte ? Est-ce que ce type de choses fait parti du "standard Fortran" et est donc compatible avec gfortran et ifort ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 subroutine allocate_tableaux(tableau_1,tableau_2,n) integer,dimension(:),allocatable,intent(inout)::tableau_1 integer,dimension(:),allocatable,intent(inout)::tableau_2 allocate(tableau_1(1:n)) allocate(tableau_2(1:n)) end subroutine allocate_tableaux
Merci beaucoup.
Partager