Brauche Hilfe von einem C Profie

    • Offizieller Beitrag

    Tagchen,

    ich brauche mal dringend die Hilfe von jemanden, der sich mit C-Programmieren auskennt. Hab bisher immer mit Delphi gearbeitet und daher nur Ahnung von Pascal. Jetzt heißt es morgen in der Berufsschule für mich ne Arbeit über C zu schreiben und darin soll es um Unions, Structs und Pointer gehen. Leider bin ich auf dem Gebit nicht wirklich bewandert und hab leider keine Ahnung, wie ich mit nem Pointer auf die Variablen des Struct, bzw. der Unions zugreifen kann.

    Hoffe mal von euch kann mir da einer Helfen!

    Also nen Struct sieht ja so aus, wenn ich mich nicht irre!

    PHP
    struct auto{
         int id;
         char[20] marke,farbe;
    } car1, car2

    Wie kann ich nun mit nem Pointer auf die Variablen von car1 bzw. car2 zugreifen.
    Beim Pointer gibt es ja auch wieder 2 verschiedenen Möglichkeiten. Einmal mit nem Punkt und einmal mit nem Pfeil, aber ich hab keine Ahnung wie das geht!

    Beim Union ist es die Definition ja glaub ich genau so wie beim struct, nur das dort dann anstatt struct union steht, oder??? :D

    :schrei: H I L F E!!! :schrei:

  • Syntax

    struct [<strukturtyp_name>] {
    [<typ> <variablenname[, variablenname, ...]>] ;
    .
    .
    .
    } [<struktur_variablen>] ;

    Beschreibung

    Strukturen werden benutzt, um mehrere Variablen in einem einzigen "Datenrecord" zusammenzufassen.

    <strukturtyp_name> Optionaler Tag-Name, der den Typ der Struktur bezeichnet.
    <struktur_variablen> Datendefinitionen, ebenfalls optional.

    Obwohl <strukturtyp_name> und <struktur_variablen> optional sind, ist eine der beiden Angaben zwingend erforderlich.

    Elemente im Record werden durch Angabe ihres Typs (<typ>), gefolgt von einem oder mehreren Variablennamen (durch Kommas getrennte Liste mit <variablenname>) definiert.

    Unterschiedliche Variablentypen werden durch ein Semikolon getrennt.

    Zum Zugriff auf einzelne Elemente in einer Struktur dienen die Elementselektoren (.) und ->.

    Um weitere Variablen desselben Strukturtyps zu deklarieren, schreibt man das Schlüsselwort struct, gefolgt von <strukturtyp_name>, gefolgt von den Variablennamen. In C++ kann das Schlüsselwort struct weggelassen werden.

    Hinweis: C++Builder erlaubt den Gebrauch von anonymen struct, die in andere Strukturen eingebettet sind.

    Bsp(deins):

    include <string.h>
    struct Auto
    {
    int id;
    char marke[20], farbe[20];
    };

    void main(void)
    {
    struct auto Carl_Car2[Soviele Felder wie du willst];
    Carl_Car2.id=[Das was du rein haben willst];
    Carl_Car2.marke=[Das was du rein haben willst];
    Carl_Car2.farbe=[Das was du rein haben willst];
    }

    • Offizieller Beitrag

    THX, aber nach der Arbeit bin ich mir sicher, dass ich im Leben niemals C proggen werden, sonder schön bei Delphi bleibe! Ich kann nur beten, dass die Arbeit nicht vollkommen in die Hose gegangen ist! Den ganze Sch... den ich gestern noch gelernt habe ist nicht dran gekommen und genau das Zeug, wovon ich keinen Plan hatte kam dann dran! :D

  • Kategorie

    Typ-Bezeichner

    Syntax

    union [<union_typ_name>] {
    <typ> <variablen_namen> ;
    ...
    } [<union-variablen>] ;

    Beschreibung

    Eine Variante (union) ermöglicht es, Variablen zu definieren, die sich denselben Speicherbereich teilen.

    Der Compiler reserviert genügend Speicherplatz für das größte Element der Variante eine_zahl, vgl. das Beispiel.

    Im Gegensatz zu einer Struktur werden die Elemente einer Variante am gleichen Speicherplatz gespeichert. Das Speichern der einen überschreibt also die anderen.

    Zum Zugriff auf einzelne Elemente einer Variante dient der Elementselektor (.).