Frage nach long *pointer



  • HI alle
    ich würde die Item mit gemischten DatenType in eine Array antragen,
    z.b.int *type1..N,double *type2..M in eine Array Ptrlist
    sieht quasi so aus:
    Ptrlist:
    int type1;
    double type1
    int type2,
    ...
    double typeM

    mit welcher weise kann man das implementieren,
    mit long Pointer konnte es knappen,bin nicht sicher?
    kann mir jemand mal helfen.
    Vielen Dank im voraus.



  • ich habe zwar nicht ganz gecheckt was du meinst aber ....
    wenn du in ein array verschiedene typen stecken willst, die entweder das eine oder das andere sein können, dann nimm z.b. ein array aus unions



  • danke schoen. dann sollte es so folgendes aussehen?
    union Datentype
    {
    int type1;
    double type2;
    };

    Datentype Ptrlist[2];
    if(bedingung1)
    {

    Ptrlist[0].type1=2;

    }
    if(bedingung2)
    {

    Ptrlist[1].type2=2.223;

    }
    damit kann die DatenType Array verschiedene typen enthalten ,oder?
    denn eigentlich wurde ich mit void Pointer einarbeiten,aber leider kann ich kein void Array(z.b.void Ptrlist[3]) erzeugen.
    danke schoen



  • ein void Array gibt es nicht. Es heisst ja auch immer void-Zeiger

    void* arr[10];

    sollte aber funktionieren - nachteil: du musst immer Zeiger speichern

    eine union hat dieses Problem nicht - dafür musst du die union ändern, wenn du einen neuen typen hinzufügst.


Anmelden zum Antworten