void ptr festen wert (von define) zuweisen
-
Hallo,
wie kann ich einem void ptr ein define zuweisen?
#define ZAHL 12345678
void *ptr = (void *)0;
ptr = (typedef struct *)ptr2->Option;
//hier zeigt der ptr auf das struct-Field Option (nur schematisch dargstellt)
*ptr = (unsigned int) ZAHL
//jetzt soll am anfang des struct-Field Option das #define geschrieben werden.
Es kommt immer die Fehlermeldung, dass man einem void ptr keinen festen wert zuweisen kann;
Gruß
derTim
-
*(unsigned int *) popt_dhcp = (unsigned int) DHCP_MAGIC_COOKIE;
so funktioniert es...
derTim
-
derTim schrieb:
Es kommt immer die Fehlermeldung, dass man einem void ptr keinen festen wert zuweisen kann;
Gruß
derTimEin void* Zeiger soll ja auch nicht an einen festen Datentypen gebunden werden.
Der Sinn des void* Zeigers ist ja, das er zur Laufzeit seinen Typen ändern kann.
-
das ist richtig...
ich verwende den void ptr zum befüllen der struct, die aus verschiedenen typen (int, char etc.) besteht... und der erste wert der struct ist ein fest-definierter Wert -> deshalb als define ausgeführt.
Anschließend wird der void ptr auf (char
(int
etc. gecastet.
derTim