Du kannst ein Float nicht ein einfach in einem Integer Array speichern. Du kannst aber ein Integer Array initialisieren und das Float dann an die Adresse im Speicher kopieren.
int stack[10] = {0};
float f = 3.14f;
int offset = 0;
// in das array einfügen
memcpy(stack + offset, &f, sizeof(float));
// aus dem array auslesen, in neuer variable speichern und ausgeben
float f_new;
memcpy(&f_new, stack + offset, sizeof(float));
printf("%f", f_new);
// du kannst es auch ohne zwischenspeichern ausgeben mit hilfe eines pointers
printf("%f", *(float*)&stack[offset]);