Struktur innerhalb Struktur



  • Ich habe folgendes Problem:

    struct key {
    	int key16[16];
    	int key128[4][44];
    	...;
    } keys, *pkeys;
    
    struct status {
    	struct key keys;
    	...;
    } str_status, *pstr_status;
    
    pstr_status = &str_status;
    

    Also eine Struktur innerhalb einer Struktur.

    Jetzt wird pstr_status uebergeben an eine Funktion.

    Beispiel Funktion:

    int berechne_key(struct status * tmp) {
    	int i = 0;
    
    	// Ich verstehe nicht, wie ich jetzt auf das key16-Array zugreifen kann.
    
    	tmp.keys.key16[i]  	//funktioniert nicht
    	tmp->keys->key16[i]	//auch nicht
    }
    

    Ich bringe Punkt- und Pfeiloperator durcheinander. Koennte mir bitte jemand
    sagen, wie ich innerhalb der Funktion auf das int-Array zugreifen kann?

    Vielen Dank



  • tmp->keys.key16[i];
    

    Sollte gehen. keys ist ja kein Pointer.



  • mortified_penguin schrieb:

    tmp->keys.key16[i];
    

    Sollte gehen. keys ist ja kein Pointer.

    Vielen Dank. Funktioniert. 🙂


Log in to reply