Beh, sì. Allocavi sufficiente memoria per la stringa, assegnavi l'indirizzo del blocco a string2 e quindi copiavi da string1 a string2 con strcpy.Originariamente inviato da ilmo lesto
se io, anzichè assegnare l'idirizzo di string1 a string2, avessi copiato i caratteri con strcpy, in questo caso ovviamente avrei prima dovuto allocare la memoria per string2...
Mettiamola così: qualcuno chiama la funzione stackTop() passando l'indirizzo di una struttura StackNode e si presuppone che non sia un NULL e che la struttura sia correttamente allocata da qualche parte (se sullo stack o sul heap non ha importanza).Originariamente inviato da ilmo lesto
codice:typedef struct tag_stackNode{ char string[SIZE_BUF]; struct tag_stackNode *nextPtr; } StackNode; typedef StackNode *stacknodePtr; char *stackTop (stacknodePtr headPtr){ char *str; str = headPtr->string; return str; }
Tu prendi l'indirizzo del campo 'string', lo metti in str e poi lo restituisci. Punto.