Wie ist das in C erlaubt?Casting von malloc auf einen primitiven Typ
int p= (int) malloc (sizeof(int));
Ich bekomme nur eine Warnung, wenn ich in gcc kompilieren.
Warnung: Besetzung von Zeiger auf Ganzzahl unterschiedlicher Größe [-Wpointer-to-int-cast]
Ein void-Zeiger kann nicht auf eine primitive Art Recht gegossen werden?
*((int*)(x))//is allowed - assume x is of type void*
Aber wie ist die direkte Umwandlung in primitive auch zulässig?
Eigentlich können Sie casten. – MrMuMu
ja. Es ist erlaubt, dass Sie einen Zeiger auf ['intptr_t' oder' uintptr_t'] (http://stackoverflow.com/q/6326338/995714) werfen können. –
@ LưuVĩnhPhúc: Die Möglichkeit, Zeiger auf Integer-Typen zu werfen, ist älter als die Existenz von 'intptr_t' und' uintptr_t'. –