struct und zeiger?

lordfritte

Erfahrenes Mitglied
Hallo ich bastel gerade ein bisschen mit struct's und habe ein Problem, das ist mein Programm:
PHP:
#include <stdio.h>

typedef struct {
    int        kontonummer; //Kontonummer
    double    kapital;     //Kapital
    float    zinssatz;     //Zinssatz
    char*    name;    //Kunden Name
    char*    vorname; //Kunden Vorname
} Kunden;

void setKunde(Kunden*, int, double, float, char*, char*);

int main(void){
    Kunden kunden;

    setKunde(&kunden, 1, 12000.56, 2.5, "Herweg", "Tobias");


    printf("%s\n", kunden.vorname);

    return 0;
}

void setKunde(Kunden* k, int nr, double kapital, float zSatz, char* name, char* vorname){
    k->kontonummer = nr;
    k->kapital       = kapital;
    k->zinssatz     = zSatz;
    k->name        = name;
    k->vorname     = vorname;
}

Wenn ich dieses Compilieren möchte, bekomme ich auf "printf("%s\n", kunden.vorname);" einen Fehler: Zugriffverletzung beim lesen
 
Hi.

Also ich kann so keinen Fehler entdecken. (obwohl du für den Namen und Vornamen eigentlich Speicher allozieren und die Strings kopieren solltest...)

Und du bekommst den Fehler beim Kompilieren? Wie lautet die Fehlermeldung genau?

Gruß
 
komisch jetzt läuft es, nachdem ich eben meinen Rechner neugestartet habe.
Aber das Compilieren lief ohne Probleme, aber wo das Programm lief erschien eine Fehlermeldung die sah ungefähr so aus:
Code:
Unbehandelte Ausnahme bei 0x10227c2f in ascii.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000008.

nur mit anderen Adressen.
 
komisch jetzt läuft es, nachdem ich eben meinen Rechner neugestartet habe.
Aber das Compilieren lief ohne Probleme, aber wo das Programm lief erschien eine Fehlermeldung die sah ungefähr so aus:
Code:
Unbehandelte Ausnahme bei 0x10227c2f in ascii.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000008.

nur mit anderen Adressen.
Dieser Fehler tritt jetzt nicht mehr auf? Evlt. solltest du mal deinen Speicher auf Fehler überprüfen.

Gruß
 
Zurück