![Immagine](http://www.worldinformatic.com/wp-content/uploads/2013/12/515310_orig.png)
INDICE
Parte 1: Introduzione.
Parte 2: Fasi, variabili, operatori e software.
Parte 3: Tipi di dato, direttive e primo programma.
Parte 4: Tipi di formato, prinft e scanf.
Parte 5: Istruzioni condizionali e di iterazione.
Parte 6: Funzioni e progetti su più file.
Parte 7: Puntatori e passaggio dei parametri.
Parte 8: Array, stringhe e strutture.
Parte 9: Gestione file: file di testo.
Parte 10: Gestione file: file binari.
Parte 11: Allocazione dinamica della memoria.
Parte 12: Creare ed utilizzare le liste nel C.
Parte 13: Algoritmi di ordinamento di Array.
Parte 14: Esercizi sul linguaggio C.
Finora abbiamo visto che variabili e array dovevano essere dichiarati in modo statico e con una grandezza prefissata, senza sapere però se questa grandezza sarebbe stata sufficiente o inutile perchè troppa; ora riusciremo a creare un array dopo aver scoperto quanto effettivamente grande deve essere!!
MALLOC() E FREE()
Per allocare memoria al momento del bisogno, si utilizza la funzione malloc():
void * malloc(size_t dim);
- Chiede al sistema di allocare un’area di memoria grande dim byte;
- Restituisce l’indirizzo dell’area di memoria allocata (questo è un puro indirizzo, ossia un puntatore senza alcun tipo, per cui è necessario effettuare un cast esplicito);
- Ha bisogno di sapere quanty byte allocare.
Ogni volta che viene allocata memoria, questa deve essere poi però liberata (o deallocata), così il sistema operativo sa che quella porzione di memoria è di nuovo disponibile per altri scopi; per deallocare memoria si utilizza la funzione free():
void free(void* p);
![Immagine](http://www.worldinformatic.com/wp-content/uploads/2013/12/3605458.png)
Persone.txt
|
Funzioni.h
![]() |
![Immagine](http://www.worldinformatic.com/wp-content/uploads/2013/12/4231283_orig.png)
![Immagine](http://www.worldinformatic.com/wp-content/uploads/2013/12/7157425_orig.png)
allocazionedinamica.zip |
Dottore in Ingegneria Informatica.
Contattatemi sui miei Social Network e sul mio Sito personale per collaborazioni, proposte di lavoro e altre informazioni!