PDA

Visualizza la versione completa : [C] Inizializzare una stringa membro di una struttura ricorsiva


00FUMI
04-08-2011, 23:56
allora ho la seguente struttura :



struct gradeNode {

char lastName[20];
double grade;
gradeNode *nextPtr;

}

tyepedef struct gradeNode Gradenode;


/*prototipo */
void insert(GradeNode **startPtr , double gradeValue , char *lNamePtr)


dentro la main


GradeNode *startPtr = NULL;
double value;
char *lNamePtr ;

scanf("%g" , &value);

scanf("%s" , lNamePtr);

/* ipotiziamo che in esecuzione a lNamePtr dia : bianchi. */


insert(&startPtr , value , lName);

fine main.

void insert(GradeNode **sPtr , double value , char *lNamePtr)
{

GradeNode *newPtr = malloc .......

newPtr -> grade = value; /* ok tutto funge */
newPtr -> lastName = lNamePtr; /* questo membro non riesco proprio ad inizializzarlo
il compilatore mi restituisce qualcosa del tipo
invalid initializer ma non capisco il perche' */

newPtr->nextPtr = NULL;
. ...

....

}


insomma se ho un membro di "tipo stringa" in una struttura come faccio ad inizializzarlo passando il valore da assegnargli come parametro di una funzione?


Grazie a tutti!

clynamen
05-08-2011, 09:50
devi usare strcpy()
http://www.cplusplus.com/reference/clibrary/cstring/strcpy/

Loading