Seite 1 von 1
Universaldatentyp
Verfasst: 26.07.2010 21:06
von Mok
Hallo.
In C kann man von void ja alle möglichen Datentypen (auch Strukturen) ableiten. Gibt es sowas ähnliches auch für PB? Also einen Datentyp für Universal-Container.
Gruß, Mok.
Re: Universaldatentyp
Verfasst: 26.07.2010 21:11
von Marvin
void ist ein inexistenter Datentyp (sagt der Name). Damit kann man gar nichts machen, außer sich die Adresse der Variablen holen (wobei man keine Variable als void definieren kann, es geht afaik nur extern void).
void* ist ein Pointer, dessen Zieldatentyp nicht angegeben ist. In PB ist das halt ein normaler Pointer, auf den ich mit Peek oder Poke zugreifen (oder eben Strukturpointern die Adresse zuweisen) kann. Soweit ich weiß, ist der Zieldatentyp bei PB-Pointern nie angegeben, es sei denn, es handelt sich um Strukturen (wobei ich, wie ich zugeben muss, länger nichts mehr mit PB gemacht hab – kann sich in der Zwischenzeit also geändert haben).
Re: Universaldatentyp
Verfasst: 26.07.2010 21:15
von NicTheQuick
Es gibt in C void-Pointer. In PB wären das ganze normale Pointer ohne Struktur, also z.B. *pointer (C: *void pointer;).
Und du kannst einen strukturlosen Pointer jedem anderen Pointer zuweisen, also *wert.MyStruct = *pointer.
Den Typ void gibt es in C sonst nur um kennzuzeichnen, dass eine Funktion keinen Rückgabewert oder ähnliches. Das nächste ist eben der void-Pointer vom Typ *void.