Zeigertypen



  • Hallöchen,

    ich als Zeiger-Anfänger sitze gerade vor folgendem Problem:

    Ich habe folgende Funktion(en)

    double func(double *x, int n){ 
    
        /*Anweisungen*/
    
    } 
    
    int main () 
    { 
        int n=3;
        double a[3]={1,2,3};  
    
        func(&a, n);
    
      /*Weiterrechnen mit a*/
    }
    

    Prinzipiell funktioniert das Programm gut, allerdings erzählt mir gcc folgendes Warnung &Anmerkung:

    1.) Übergabe von Arg1 von func "von inkompatiblen Zeigertyp"
    2.) "double * erwartet aber Arg hat Typ double (*)[3].

    Ich habe schon in mein C-Buch/Google geschaut, aber irgendwie übersehe ich etwas... Wie kann ich das Problem lösen?

    Danke,

    freddy13



  • func(a,n)

    '&' weglassen.



  • Der Name eines Arrays steht für dessen Adresse: a
    Man kann auch die Adresse vom ersten Element nehmen: &a[0]
    Aber das ist eher unüblich.


Anmelden zum Antworten