C_programieren

Aufrufe: 578     Aktiv: 28.11.2021 um 14:51

0

wenn ich diese type deklariert habe typedef struct rectangle_s { // todo double X_Koordinate , Y_Koordinate , Breite , Hohe; } Rectangle; und ich brauche in eine andere funktion nur x um etwas zu berechnen wie kann ich nur x von rectangle.s benutzen

Diese Frage melden
gefragt

Punkte: 10

 
Kommentar schreiben
1 Antwort
0

Hallo user9128a9, ich gehe mal davon aus, dass du X_Koordiante mit x meinst. Zunächst musst du ja deinen type einer Variablen zuweisen. Z. B.:

void main (void)
{
    Rectangle rec;
}

Dann machst du das mit Punkt.

    rec.X_Koordinate = 3.5;

Hast du einen typisierten Zeiger dann mit Pfeil.

void main (void)
{
    Rectangle rec;
    Rectangle *prec = &rec;
    prec->X_koordinate = 3.5;
}

Wenn ich deine Frage falsch verstanden habe schreib einfach einen entsprechenden Kommentar. Gruß jobe

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Z:b ich mochte eine neue type haben die die coordinate einer punkt enthältet unter der formen (x,y). uwie kann ich das machen

  ─   user9128a9 28.11.2021 um 13:35

vielen danke#

  ─   user9128a9 28.11.2021 um 13:35

Bin nicht sicher, ob ich die richtig verstanden habe. Du kannst aber typen "verschachteln". Du kannst zuerst die Koordinaten als type deklarieren und dann das Rechteck.

typedef struct xy_s {double X_Koordinate , Y_Koordinate; } xy;

danach typedef struct rectangle_s {xy koodinaten; double Breite , Hohe; } Rectangle;

Dann greifst du in meinem Beispiel mit rec.koordinaten.X_Koordinate = 3.5 auf die x Koordinate zu. Wenn du nur die Koordinaten in eine Funktion übergeben willst machst du das am besten als Zeiger.

void Funktion(xy *DieKoordinaten)
In der Funktion dann z.B. DieKoordinaten->X_Koordinate = 3.5;
Suchst du das?

  ─   jobe 28.11.2021 um 14:51

Kommentar schreiben