Array aus Zeigern initialisieren



  • Hallo Community!

    Habe folgendes Problem:

    double *(*b)[2];
    

    Diese Definition soll mit passenden Werten (nicht NULL) besetzt werden. Wie stell ich das an?

    Ich hab jetzt einiges ausprobiert und bin immer noch nicht klüger was genau dieses Gebilde darstellen soll. Und wie initialisier ich es?

    Habe ich hier nun einen Zeiger auf einen Array aus Zeigern, welche auf Double-Werte zeigen? Oder habe ich einen Zeiger auf einen weiteren Zeiger der auf einen Array aus Double-Werten zeigt?

    Was ist das und wie initialisiere ich es?

    Vielen Dank im Voraus
    Schönen Gruß



  • Ist zwar nicht die Lösung deines problems, jedoch eine wesentlich bessere Vermeidung:

    Nimm std::vector.



  • http://cdecl.ridiculousfish.com/?q=double+%28b%29%5B2%5D%3B

    int main()
    {
    	double eins(1.0); // erster double
    	double zwei(2.0); // zweite double
    
    	double *array[2]; // array von zeigern auf zwei double
    	array[0] = &eins; // zeiger setzten
    	array[1] = &zwei;
    
    	double *(*b)[2] = &array; // zeiger auf array
    
    	return 0;
    }
    


  • qubi schrieb:

    Habe folgendes Problem:

    double *(*b)[2];
    

    Diese Definition soll mit passenden Werten (nicht NULL) besetzt werden. Wie stell ich das an?

    Damit deklarierst Du kein Array. Damit deklarierst Du ein Zeiger auf ein Array.

    Ein Array aus Zeigern würdest Du so erzeugen und initialisieren:

    double *b[2] = {adresse1, adresse2};
    

Anmelden zum Antworten