Zeiger auf ein Array generieren lassen. ( siehe Nachrichtentext )



  • Hallo !
    Ich habe 224 unsigned long Arrays in einer Headerdatei definiert in der Form:

    unsigned long _32[]=
    {
    	0xED3, 
    	0x10
    };
    
    unsigned long _33[]=
    {
    	0x28B, 
    	0x10,0x20
    };
    
    unsigned long _34[]=
    {
    	0x288B, 
    	0x30,0x30,0x30
    };
    
    unsigned long _35[]=
    {
    	0xEF8A, 
    	0x23,0x23,0x23, 0x24, 0x25
    };
    

    ...usw...

    Nun hätte ich gern beim Vorkommen einer bestimmten Zahl einen Zeiger auf ein bestimmtes Array.

    Mann könnte es so lösen:

    int i;
    unsigned long* p_arr;
    if ( i == 32 ) p_arr = _32;
    if ( i == 33 ) p_arr = _33;
    

    Geht das auch einfacher, in Form einer Funktion oder eines Makros ?
    So etwas wäre schön:

    int i = 32;
    unsigned long* p_arr;
    
    p_arr = meine_wunschfunktion( i ); // oder Makro, hauptsache funzt
    

    MfG
    [?]



  • Auf Anhieb fällt man da eine Makro-Lösung ein. Gibt aber bestimmt was eleganteres.

    #define DONS_EVIL_MACRO__GET_ARRAY(number) _##number;
    

    Gruß
    Don06



  • Ich habe 224 unsigned long Arrays<
    das ist dein problem. mach daraus ein array mit 224 elementen



  • Don06 schrieb:

    #define DONS_EVIL_MACRO__GET_ARRAY(number) _##number;

    Das Ding ist ja echt super, vielen Dank !!! 👍
    Auch wenn ich noch nicht so richtig kapiere, wie das mit den Rauten funktioniert, es erfüllt jedenfalls genau den Zweck, den ich benötige *freu* 🙂 🙂
    Ich werd demnächst mal wegen den Rauten googeln.
    MfG
    [?]



  • Shade Of Mine schrieb:

    Ich habe 224 unsigned long Arrays<
    das ist dein problem.

    Conclusion: Designfehler sind also dazu da, um mit Präprozessormakros ausgebügelt zu werden... Muss das eine grausige Welt sein, in der der OP lebt...



  • Shade Of Mine schrieb:

    Ich habe 224 unsigned long Arrays<
    das ist dein problem. mach daraus ein array mit 224 elementen

    kenner der dummköpfe schrieb:

    Conclusion: Designfehler sind also dazu da, um mit Präprozessormakros ausgebügelt zu werden... Muss das eine grausige Welt sein, in der der OP lebt...

    Eure Dummbatz- Spackenkommentare könnt ihr euch da hinstecken, wo es ganz dunkel ist. *bussie*

    [?]



  • Das Makro löst doch kein Problem. Damit ist es auch nicht möglich über alle einzelnen Arrays zu iterieren.

    [?] schrieb:

    Shade Of Mine schrieb:

    Ich habe 224 unsigned long Arrays<
    das ist dein problem. mach daraus ein array mit 224 elementen

    kenner der dummköpfe schrieb:

    Conclusion: Designfehler sind also dazu da, um mit Präprozessormakros ausgebügelt zu werden... Muss das eine grausige Welt sein, in der der OP lebt...

    Eure Dummbatz- Spackenkommentare könnt ihr euch da hinstecken, wo es ganz dunkel ist. *bussie*

    [?]

    Aber da der Op ja kein Interesse an einer echten Lösung hat und hier ausfallend wird... Thread closed.


Anmelden zum Antworten