Subpunt anterior Subpunt posterior Punt precedent Titol Contingut


3.6. Dades dinàmiques.

- La qüestió de les dades dinàmiques fa referència a demanar memòria lliure al S.O. en temps d'execució. Per fer això disposem de la crida estàndard malloc() (definida a ALLOC.H), que se li passa la mida de l'espai de memòria a reservar i retorna un punter al principi del bloc assignat (si no hi ha prou memòria disponible retornarà un punter a NULL). Per tant, caldrà treballar amb punters.

- Per calcular l'espai que necessitem amb precisió disposem de l'operador de C sizeof(), que retorna la mida en bytes d'un tipus o d'una estructura (depenent del hardware i del compilador). La funció free() serveix per alliberar la memòria assignada (cal no descuidar-se d'alliberar tota la memòria que s'ha reservat).

ex 3.14: Aquest exemple demana memòria dinàmica al sistema per a un enter, una dada de tipus llibre, i un vector de 500 elements de tipus llibre. L'ús del sizeof permet independitzar el programa de la mida de les dades:


Subpunt anterior Subpunt posterior Punt precedent Titol Contingut