fisica:informatica:201415:esercitazioni:esercitazione7.5
Questa è una vecchia versione del documento!
Indice
Esercitazione allocazione dinamica
Esercizio 1: Sequenze e VLA
Realizzare un programma C che legge e memorizza in un VLA una sequenza di double di lunghezza non nota a tempo di compilazione. Richiedere all'utente di specificare la lunghezza prima di immettere la sequenza.
Esercizio 2: Sequenze e malloc()
Modificare la soluzione all'esercizio 2 in modo da utilizzare la funzione malloc()
per allocare l'array dopo aver letto la lunghezza.
Verificare la corretta allocazione e gestire gli errori.
Esercizio 3: Allocazioni in grossi blocchi
Eseguire il seguente programma C
#include <stdio.h> #include <stdlib.h> #define SIZE 10000000000 int main (void) { double * h; h = malloc(SIZE*sizeof(double)); if ( h == NULL ) { perror("malloc"); exit(EXIT_FAILURE); } printf("Allocato h = %p\n",(void *) h); return 0; }
cosa succede ? Cercate di capire che cosa succede quando va in esecuzione perror()
andando a verificare il manuale (sezione 3 man 3 perror
)
Esercizio 4: realloc()
fisica/informatica/201415/esercitazioni/esercitazione7.5.1422983342.txt.gz · Ultima modifica: 03/02/2015 alle 17:09 (11 anni fa) da Susanna Pelagatti