Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    5

    [C] Liberare con free solo parte della memoria allocata

    Salve a tutti,
    vorrei sapere se è possibile, dopo aver allocato una quantità di memoria, deallocarne solo una parte ed utilizzare quella di fronte ad una richiesta di minore memoria, oppure se è necessario deallocarla tutta e allocare da capo quella di cui ho bisogno.
    Nel caso sia possibile, come devo procedere?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Puoi usare la funzione realloc per ridimensionare la memoria a partire da quella allocata.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    5
    Ma con realloc potrei eventualmente passare da un'area di memoria minore a una maggiore? Perchè sapevo che la memoria allocata deve essere contigua...quindi potrebbe essere che aumentando la memoria con realloc ricevo un errore mentre non con malloc?
    In questo caso è meno dispendioso provare con realloc e poi al massimo liberare quella memoria e allocare con malloc o direttamente liberare e usare malloc?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Sommer
    Ma con realloc potrei eventualmente passare da un'area di memoria minore a una maggiore?
    Ovviamente sì.

    Perchè sapevo che la memoria allocata deve essere contigua...quindi potrebbe essere che aumentando la memoria con realloc ricevo un errore mentre non con malloc?
    Nessun problema ... prova ad usare la realloc.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.