bramar78 ha scritto:
Mi sento tanto tonta in questo momento...
ho provato a dichiarare un altro puntatore *b e poi dopo la malloc la realloc ho fatto b=a. Messo nei vari for il puntatore b e poi fatto free(a) ma non solo non funziona la free ma ho anche un "Segmentation fault"..
quindi immagino di non aver capito il tuo suggerimento.
Pasticciare con i puntatori e' SEMPRE stramaledettamente delicato e rischioso
E se non lo si fa con cognizione di causa, sapendo, quindi, ESATTAMENTE quello che si sta' facendo, si ottengono i mitici memory dump, segmentation fault, crash misteriosi, o, peggio ancora (MOOOLTO PEGGIO), comportamenti stranissimi, imprevedibili e misteriosi.
A meno che non ci siano MOTIVI MORTALI, pena decapitazione e relativo licenziamento, ANCHE i programmatori con N-mila anni di esperienza evitano l'aritmetica dei puntatori come la lebbra .
Il MIGLIOR sistema per evitare il 99.99999% questi problemi e' quello di NON TOCCARE il puntatore, ma vederlo SOLO come l'entry-point di un vettore, e accedere all'i-mo elemento del vettore SOLO mediante INDICE, usando la sintassi "vettore[ i ]".
Con l'indice ci puoi fare quello che vuoi: incrementarlo, decreementarlo, farci le somme, ecc..
Quindi, ricapitolando:
NON TOCCATE I PUNTATORI
(vabbe, il film era
Per favore, non toccate le vecchiette ).