Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Structuri recursive (self-referential)

Informatica


 Structuri recursive (self-referential)
 -------- ----- ------ -------------
 O structura este recursiva daca un membru pointer se refera la tipul structurii initiale ( 10210q161k recursie de ordinul 1, exista si ordine mai
 mari). De obicei, structurile recursive necesita rutine explicite pentru rezervarea si eliberarea de memorie.
 ------------
 Exemplu:
 ------------
         struct lista
         
 Fiecare variabila de tip "struct lista" are doi membri, "data" si "urmator". Pictural, asta arata cam asa (in memorie):
         ----- ----- ----
         |       |    ----|-->
         ----- ----- ----
          data urmator
 Variabila pointer "urmator" contine o adresa a unei locatii de memorie a unui element succesor "struct lista" sau valoarea speciala
 NULL, definita in <stdio.h> ca avand valoarea constanta 0. Valoarea NULL este folosita pentru notarea sfarsitului listei.
 Presupunem ca avem declaratiile
          struct lista a, b, c;
 Vrem sa creeam o lista inlantuita formata din aceste trei variabile. Mai intai, facem asignarile:
          a.data = 1;
         b.data = 2;
         c.data = 3;
         a.urmator = b.urmator = c.urmator = NULL;
 Dupa aceste instructiuni, obtinem in memorie:
            a         b               c
        ----- ----- ------     ----- ----- ------     ----- ----- ------
        | 1  |  NULL |     | 2  |  NULL |     | 3  |  NULL |
        ----- ----- ------     ----- ----- ------     ----- ----- ------
         data urmator     data urmator     data urmator
 
 Acum putem "lega" cele trei structuri, astfel:
         a.urmator = &b;
         b.urmator = &c;
 
 Obtinem:
           a               b                c
        ----- ----- ----      ----- ----- ----        ----- ----- ------
        | 1   |     ---|---->| 2  |       ---|---->| 3  |  NULL |
        ----- ----- ----      ----- ----- ----        ----- ----- ------
        data urmator    data urmator      data urmator




Document Info


Accesari: 3494
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )