zeiger auf zeiger an funktion uebergeben



  • hi, ich hab mir mal was gebastelt und würde gerne wissen, ob das auch alles so korrekt ist vorallem mit dem dynamisch allozierten speicher und die uebergabe an die funktion.

    struct auto {
    	int anzahl;
    	int preis;
    };
    
    int tuewas(struct player **,int);
    
    int main(void) {
         int autos=4;
         struct auto **zeigerfeld;
    
         zeigerfeld=(struct auto**)malloc(sizeof(struct auto *) * autos); 
         if (!zeigerfeld) return 1;
    
         for (i=0;i<autos;i++) {
    	       *(zeigerfeld+i)=(struct auto *)malloc(sizeof(struct auto));
    	       if (!*(zeigerfeld+i)) return 2;
    	       memset(*(zeigerfeld+i),0x00,sizeof(struct auto));
    	       zeigerfeld[i]->anzahl=4;
    
                    tuewas(zeigerfeld,i);
         }
    
         return 0;
    
    int tuewas(struct player **tmp,int anzahl) {
       tmp[anzahl]->preis=anzahl*anzahl;
       return 0;
    }
    


  • bei

    int tuewas(struct player **,int);

    sollte natuerlich

    int tuewas(struct auto **,int);
    hin


Anmelden zum Antworten