|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 10 ![]() |
J'écris un programme qui nécessite d'utiliser des listes pour stocker des informations mais j'ai rencontré des problèmes (d'habitude j'utilise plutôt des enregistrements RECORD mais ils ne supportent pas la récursivité structurelle), alors j'ai isolé la manipulation de listes dans ce petit programme d'exemple :
Code :
Seulement chez moi le programme affiche "allo" et plante. Je crois que j'ai fait une erreur dans la structure de ma liste mais je ne vois pas où. Est-ce que vous voyez d'où ça pourrait venir ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : avril 2002 Messages : 2 273 ![]() |
Oui, la zone mémoire pointée par le pointeur l1 n'est pas allouée, donc le programme plante forcément !
Il faut absolument allouer les zones mémoires et les libérer proprement, avec les fonctions New et Dispose. Je te conseille de lire un tutoriel sur les pointeurs, et tu peux également consulter les exercices Pascal: http://pascal.developpez.com/cours/ptrau/?page=page_16 http://pascal.developpez.com/exercices/?page=Sect9
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 10 ![]() |
Ah merci !
Voilà mon nouveau programme, il fonctionne. Code :
D'habitude ces "new" et "dispose" sont dans des units alors je ne m'en souciais pas. Je ferai plus attention maintenant. C'est un peu ennuyeux de devoir s'occuper de la place qu'on utilise dans l'ordinateur, mais ça fait partie de l'informatique. Certains langages de haut niveau ne se soucient pas des places allouées, non ? |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : avril 2002 Messages : 2 273 ![]() |
Il y a manifestement quelque chose qui cloche à ce niveau :
Code :
Les langages de haut niveaux masquent énormément de choses... Delphi, Java etc... oui c'est pratique à programmer, mais attention aux bourdes ! La manipulation de mémoire est une nécessité et il vaut mieux savoir ce que l'on fait, même avec les langages de haut niveau.
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com