7. Allocazione di memoria

7.1 Perche` il codice ``char *answer; gets(answer);'' non funziona?

7.2 Non riesco a far funzionare strcat. Ho tentato ``char *s3 = strcat(s1, s2);'' ma ottengo strani risultati.

7.3 Ma la pagina del manuale per strcat dice che prende due char * come argomenti. Perche` dovrei sapere di dover allocare qualcosa?

7.5 Ho una funzione che dovrebbe ritornare una stringa, ma quando ritorna alla chiamante, la stringa ritornata contiene robaccia.

7.6 Perche` ricevo ``warning: assignment of pointer from integer lacks a cast'' per chiamate a malloc?

7.7 Perche` del codice converte con cura i valori ritornati da malloc al tipo di puntatore allocato?

7.8 Perche` cosi` tanto codice tralascia la moltiplicazione per sizeof(char) durante l'allocazione di stringhe?

7.14 Ho sentito che qualche sistema operativo non alloca realmente la memoria richiesta da malloc fino a che il programma tenta di usarla. E` legale ?

7.16 Sto allocando un grande vettore per un lavoro numerico, ma malloc agisce stranamente.

7.17 Ho 8 Mega Byte di memoria nel mio PC. Perche` sembra che malloc non ne allochi piu` di circa 640K?

7.19 Il mio programma collassa, apparentemente da qualche parte dentro malloc.

7.20 Non si puo` usare la memoria allocata dinamicamnte dopo averla liberata, giusto?

7.21 Perche` dopo aver chiamato free un puntatore non e` nullo?

7.22 Quando chiamo malloc per allocare memoria per un puntatore locale, devo esplicitamente chiamare free?

7.23 Quando libero una struttura dinamicamente allocata che contiene puntatori, devo prima liberare ogni puntatore associato?

7.24 Devo liberare la memoria allocata prima che il programma esca?

7.25 Perche` l'uso di memoria del mio programma non descresce quando libero memoria?

7.26 Come free sa quanti bytes vanno liberati?

7.27 Dunque posso interrogare malloc per sapere la dimensione di un blocco allocato?

7.30 E` legale passare un puntatore nullo come primo argomento a realloc?

7.31 Quale e` la differenza tra calloc e malloc?

7.32 Cosa e` alloca e perche` il suo uso e` scoraggiato?


Cima