Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-07-2006, 10:22   #1
mercury841
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 409
[c]=deallocazione array di puntatori a caratteri

se ho un array di puntatori a carattere in cui l'ultimo elemento punta a NULL, per deallocarlo va bene questa funzione:

Codice:
void dealloca(char **array_di_stringhe){

int i=0;

        while ( array_di_stringhe[i] != NULL ){
                free(array_di_stringhe[i]);
                i=i+1;
        }
        free(array_di_stringhe[i]);
        free(array_di_stringhe);
        return;

}
ciao e grazie per l'aiuto.
mercury841 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:55   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Come mai fuori dal ciclo c'e' un

free(array_di_stringhe[i]);
?
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:58   #3
mercury841
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 409
non so se serve, l'ho messo per deallocare l'ultimo puntatore a NULL.

grazie per la pazienza,ciao
mercury841 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 11:03   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da mercury841
non so se serve, l'ho messo per deallocare l'ultimo puntatore a NULL.

grazie per la pazienza,ciao
Well, veramente il puntatore a NULL non andrebbe deallocato. Farlo comporta un crash (non sempre succede).
Il mio consiglio e' di evitare questa operazione

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 11:30   #5
mercury841
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 409
ok, grazie. Però c'è un problema: quando cerco di dellocare in un programma con questa funzione il processo è come se andasse in crash(cioè termina in modo anormale e stampa a video killed), se invece tolgo dalla funzione l'istruzione "free(array_di_stringhe);" il programma funziona tranquillamente.
mercury841 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 12:39   #6
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da mercury841
ok, grazie. Però c'è un problema: quando cerco di dellocare in un programma con questa funzione il processo è come se andasse in crash(cioè termina in modo anormale e stampa a video killed), se invece tolgo dalla funzione l'istruzione "free(array_di_stringhe);" il programma funziona tranquillamente.
come ti dice sottovento togli l'istruzione fuori dal ciclo

poi prova con questo metodo professionale di debug
(se hai un output disponibile) e vedi se ancora si rompe:
Codice:
void dealloca(char **array_di_stringhe){

   int i=0;

   puts( "1" );

   while ( array_di_stringhe[i] != NULL ){
      free(array_di_stringhe[i]);
      i=i+1;
   }
   puts( "2" );

   free(array_di_stringhe);
   puts( "3" );

   return; // NON SERVE ;)
}
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 12:52   #7
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
scusa ma che senso ha deallocare un puntatore a NULL? se punta a NULL vuol dire che non punta ad alcun indirizzo e quindi giustamente il SO non sa che cosa deallocare. è sbagliato concettualmente. è come chiedergli di svuotare un frigo che non esiste.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 13:43   #8
mercury841
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 409
Ok grazie a tutti ho risolto, era un problema del mio programma non della funzione di deallocazione. Ho tolto anche il free sul puntatore a NULL.

Ciao
mercury841 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 14:00   #9
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da mercury841
Ok grazie a tutti ho risolto, era un problema del mio programma non della funzione di deallocazione. Ho tolto anche il free sul puntatore a NULL.

Ciao
é facile che ci sia un controllo sul puntatore tipo:
Codice:
void free( void *p)
{
   if (!p) 
      return;
 ...
}
io l'avrei un controllo del genere
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
iPhone Ultra, un accessorio conferma un'...
AstroRad funziona: superato il test luna...
Apple dichiara iPhone X obsoleto: stop d...
C'è un motivo per cui l'interfacc...
Il volo inaugurale dell'aereo elettrico ...
L'IA non rende tutte le imprese uguali. ...
Netflix cambia la strategia sul gaming: ...
Hyundai Kona elettrica: è ancora ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v