Pointer auf Struct übergeben



  • Hallo,

    wie kann ich einer Funktion einen Zeiger auf eine Structur übergeben?
    Das folgende funktoniert nicht.

    Declaration:

    typedef struct
    {
           unsigned char a;
           unsigned char b;
    }TEST;
    //--------------------------
    

    Implementation:

    TEST test;      Instanz erzeugen
    
    main()
    {
         blah(&test);
    }
    
    //--------------------------------
    //
    //--------------------------------
    void blah(TEST* data)
    {
          test.a = 1;
          test.b = 2;
    }
    


  • wenn du schon adressen von strukturen übergibts, muss du erstens auf den namen
    des parameters achten und den pfeiloperator verwenden.

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct
    {
           unsigned char a;
           unsigned char b;
    }TEST;
    
    void blah(TEST *data);
    
    int main()
    {
    	TEST test;      
    	blah(&test);
    
    return 0;
    }
    
    void blah(TEST* data)
    {
          data->a = 1;
          data->b = 2;
    }
    


  • Danke für Deine Hilfe.

    Das mit dem Namen war nur ein Schreibfehler.
    Natürlich meinte ich
    data.a = 1;

    Das Problem war, das ich den Punkt anstatt den Pfeiloperator verwendet habe.


Anmelden zum Antworten