Ich habe Probleme beim Konvertieren eines int
in ein float
. Ich habe versucht, Conversion einzugeben, aber es scheint nicht zu funktionieren. Was mache ich falsch?Umwandlung eines Int in einen Float in C
float *six(const int *x) {
float *p = malloc(sizeof(x));
p = (float *)x;
return p;
}
int main() {
float *p_six;
int i4 = 4, i432 = 432;
p_six = six(&i4);
printf("%d == %f\n", i4, *p_six);
free(p_six);
}
Die 'p = (float *) x;' Zuordnung in der Funktion, um den Zeiger auf die in der vorhergehenden Zeile zugeordneten Speicher auslöscht, so hat man einen Leck Speicher jedes Mal, Du rufst die Funktion an. –