Verständnisproblem bei Arrays von Strukturen
-
Hallo,
ich möchte mittels Strukturen ein Telefonverzeichnis (max. 100 Einträge) erstellen.
Wie kann ich hier z.B. auf das Element vorname zugreifen?
Ich möchte im Array liste an der Stelle 0 einen Vornamen zuweisen.
Mit
liste[0].vorname =
komme ich nicht weiter.#include <stdio.h> struct daten { char vorname[20]; char name[20]; char tel_nummer[16]; } liste[100]; int main(void) { liste[0].vorname = getchar(); return 0; }
-
Hallo,
da 'vorname' selbst wieder ein Array darstellt, mußt du entspechende Funktionen benutzen - in deinem Fall strcpy oder noch besser strncpy:
strcpy(liste[0].vorname, "ledi111"); strncpy(liste[0].vorname, "ledi111", 20);
-
Vielen Dank!
D.h. ich mach das dann mal so:
#include <stdio.h> #include <string.h> struct daten { char vorname[20]; char name[20]; char tel_nummer[16]; }liste[100]; int main(void) { strcpy(liste[0].vorname, "Max"); strcpy(liste[0].name, "Muster"); strcpy(liste[0].tel_nummer, "06601234557"); strcpy(liste[1].vorname, "Eva"); strcpy(liste[1].name, "Muster"); strcpy(liste[1].tel_nummer, "06601234558"); printf("\n%s, %s, %s",liste[0].vorname, liste[0].name, liste[0].tel_nummer); printf("\n%s, %s, %s",liste[1].vorname, liste[1].name, liste[1].tel_nummer); getchar(); return 0; }
-
Bei der Definition von Variablen kannst du auch gleich Werte zueweise.
Z.B.int i = 0;
Das geht auch bei Arrays und Strukturen:
struct daten { char vorname[20]; char name[20]; char tel_nummer[16]; }liste[100] = { { "Max", "Mustermann", "06601234557" }, { "Eva", "Mustermann", "06601234557" }, { "Rosi", "Mustermann", "32168" } };