Hallo, Leute!
Ich bin jetzt bei der 2. Aufgabe vom 1. Kapitel (da wo man zwei Speicherbereiche vertauschen muss). Hab die void Zeiger initialisiert und mit tbMemAlloc(1000) auf die gewünschte Größe gebracht. Jetzt hab ich aber ein kleines Problem, weil ich nicht weiß, wie ich die Speicherbereiche füllen kann. Ich hab's schon mit sämtlichen Casts probiert, der einzige, der geklappt hat war:
|
C-/C++-Quelltext
|
1
|
pData1 = (void*) tbIntRandom(0,1000);
|
Tja das war's auch schon, lässt sich problemlos kompilieren, erzeugt aber zur Laufzeit einen Fehler! (Ist ja auch logisch, ich hab ja jetzt die Adresse von pData1 verändert)
Doch dann kam mir eine weitere Idee :idea:
Ich könnte statt einem void Zeiger einen int Zeiger verwenden. Ok, Code umgeschrieben, kompiliert alles schön! Ich hab jetzt eine Zahl in den Speicherbereich geschrieben! Auch tbMemIsValid liefert TRUE!
ABER:
Ich soll ja 1000 Zahlen in den Speicherbereich laden, das war jetzt eine. Aber mit inkremieren des int Zeigers klappt's nicht. Wie bekomm ich es jetzt hin, dass die nächste Zahl in die nächste freie Stelle des Speicherbereichs gepackt wird?
Bitte keine kompletten Lösungen posten, nur kleine Tipps, mit denen ihr mir auf die Sprünge helfen könnt...