cgboard - classic games

Normale Version: C macht mich wahnsinnig!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
In der Schule machen wir gerade Ansi C. Ich hab damals schon etwas C++ gemacht, bin aber wieder ziemlich raus aus der Materie, nachdem ich ne Ewigkeit PHP gemacht hab.

Jetzt sagt der damn Compiler mir in Zeile 21: Error: Incompatible Types
WTF!?
dsatz[0].Name und s sind beides die verdammt nochmal gleichen Typen! Beides chars mit festgelegter Länge!



Code:
#include <stdio.h>
#include <string.h>

struct datensatz {

            char Name[20];
            char Alter[20];
} dsatz[5];


int main()
{
    char s[10], age[20];
    int exitcode, cnt;

    printf("Hallo, laber mit mir!\\n");

    while (exitcode != 1)
    {
        printf("\\nGib deinen Namen ein:\\n");
        gets(s);
        dsatz[0].Name = s;

        printf("\\nGib dein Alter ein:\\n");
        gets(s);
        dsatz[0].Alter = s;

        if (strcmp(s,"exit") == 0)
            {
                exitcode=1;
            }

        printf("Datensatz 0: \\n %s",dsatz[0].Name);
        printf("\\n%s",dsatz[0].Alter);
    }

    return 0;
}
Hi,
probier doch mal die Arraylänge von s und Name/Alter auf den gleichen Wert zu setzen

Name und Alter haben nämlich 20 Zeichen, s dagegen 10.

Edit:
Aber mir fällt gerade ein, dass das auch nicht funktionieren sollte, da s bzw xyz.name nur der verweis auf das erste element des Arrays ist. Du musst glaub ich entweder ne Bibliotheksfunktion zum kopieren von Arrays benutzen oder jedes Element einzeln kopieren.
genau, eine direkte zuweisung von arrays ist nicht möglich.

versuch mal mit
PHP-Code:
strcpy(dsatz[0].Name s); 
OMG, wie kompliziert. Naja, ich werds morgen mal testen.
Danke!