Void Pointer erhöhen

Hi!

Ich möchte zu einem void* pointer ein vielfaches von sizeof(datentyp)
addieren und dies dann wieder als void* pointer casten.
Allerdings gibt sizeof() eine Integerzahl aus, welche ich natürlich
nicht mit dem datentyp void* addieren kann.

Kann ich es so machen?:

(void\*)((int)pointer + x\*sizeof(datentyp))  

Funktioniert zwar, sieht aber irgendwie nicht gut aus.

Grüße
Huddi

Hallo

Ich möchte zu einem void* pointer ein vielfaches von
sizeof(datentyp)
addieren und dies dann wieder als void* pointer casten.
Allerdings gibt sizeof() eine Integerzahl aus, welche ich
natürlich
nicht mit dem datentyp void* addieren kann.
Kann ich es so machen?:

(void\*)((int)pointer + x\*sizeof(datentyp))  

Funktioniert zwar, sieht aber irgendwie nicht gut aus.

Sieht irgendwie nicht sauber aus, sollte
aber funktionieren. Du kannst auch:

 datentyp arr[100] = {1,2,3,4,5,6,7,8,9,10,11,12};

 ...

 void \*pv = arr; // ok
 char \*pc = static\_cast(pv); // mmmmmhhmm
 pc += sizeof(datentyp); // ok
 pv = pc; // ok

versuchen.

Grüße

CMb