Hallo,
Ich habe die Aufgabe eine Funktion zu schreiben die ein doublefeld der Länge x erzeugt, dafür Speicher reserviert und zu Beginn mit Nullen beschreibt. Die Funktionsargumente sind vorgegeben.
Erstmal. Der **ptrptr zeigt doch ohne weitere Zuweisung auf *ptrptr bzw. damit auch auf den Wert ptrptr. Mit Malloc erzeuge ich doch schon so etwas wie ein Feld. Kein Array, aber man könnte damit zB. auch ein Sortierverfahren(in Aufgaben teil b verlangt) durchführen.
Ich probiere jetzt schon 1,2 Stündchen an den paar Zeilen rum und komme nicht vorran. Es tritt immer irgendein Speicherfehler ein.
Ich habe die Aufgabe eine Funktion zu schreiben die ein doublefeld der Länge x erzeugt, dafür Speicher reserviert und zu Beginn mit Nullen beschreibt. Die Funktionsargumente sind vorgegeben.
Code:
void allocMem(int length, void **ptrptr){
*ptrptr =(void*)(malloc(length*sizeof(double)));
memset(ptrptr,0,length); /* oder ?*/ memset(*ptrptr,0,length);
/* free wird in der main aufgerufen*/
};
Erstmal. Der **ptrptr zeigt doch ohne weitere Zuweisung auf *ptrptr bzw. damit auch auf den Wert ptrptr. Mit Malloc erzeuge ich doch schon so etwas wie ein Feld. Kein Array, aber man könnte damit zB. auch ein Sortierverfahren(in Aufgaben teil b verlangt) durchführen.
Ich probiere jetzt schon 1,2 Stündchen an den paar Zeilen rum und komme nicht vorran. Es tritt immer irgendein Speicherfehler ein.