Hallo..
Ich hab hier ein Problem, welches sich einfach nicht lösen lassen will. Ich versuche ein Array vom Typ einer eigenen Struktur zu basteln. Schwierig dabei ist, das die Struktur aus 2 Variablen vom Typ char * besteht. Mir stellt sich jetzt die Frage, wie ich jetzt effizient Speicher für das Array als auch die beiden Strings in der Struktur allociere Ich versuch das mal in code auszudrücken.
struct parameterValStr{
char *name;
char *value;
};
main{
struct parameterValStr *pvs;
//Array vom typ pvs mit 2 elementen
pvs=(parameterValStr *)malloc(sizeof(parameterValStr)*2);
pvs[0].name=(char *)malloc(sizeof(char)*32);
pvs[0].value=(char *)malloc(sizeof(char)*32);
pvs[1].name=(char *)malloc(sizeof(char)*32);
pvs[1].value=(char *)malloc(sizeof(char)*32);
//füllen auslesen..
free(pvs);
}
So wie ich es geschrieben habe, funktioniert es nicht wirklich, aber ich hoffe die Idee dahinter ist ersichtlich geworden? Kann mir jemand sagen, wie man das richtig umsetzt?
Danke fürs lesen..
Gruß Azero
Ich hab hier ein Problem, welches sich einfach nicht lösen lassen will. Ich versuche ein Array vom Typ einer eigenen Struktur zu basteln. Schwierig dabei ist, das die Struktur aus 2 Variablen vom Typ char * besteht. Mir stellt sich jetzt die Frage, wie ich jetzt effizient Speicher für das Array als auch die beiden Strings in der Struktur allociere Ich versuch das mal in code auszudrücken.
struct parameterValStr{
char *name;
char *value;
};
main{
struct parameterValStr *pvs;
//Array vom typ pvs mit 2 elementen
pvs=(parameterValStr *)malloc(sizeof(parameterValStr)*2);
pvs[0].name=(char *)malloc(sizeof(char)*32);
pvs[0].value=(char *)malloc(sizeof(char)*32);
pvs[1].name=(char *)malloc(sizeof(char)*32);
pvs[1].value=(char *)malloc(sizeof(char)*32);
//füllen auslesen..
free(pvs);
}
So wie ich es geschrieben habe, funktioniert es nicht wirklich, aber ich hoffe die Idee dahinter ist ersichtlich geworden? Kann mir jemand sagen, wie man das richtig umsetzt?
Danke fürs lesen..
Gruß Azero
Zuletzt bearbeitet: