Вы не конвертируете int 10 в число с плавающей точкой.Скорее, вы устанавливаете указатель b равным адресу a.НЕТ кастинга не было.Единственное, что ваш актерский состав выполнил, чтобы отключить проверку ошибок.
Что вы хотите?Если вы хотите, чтобы b удерживало указатель на представление с плавающей запятой, равное 10, вам нужно сделать следующее:
float b_float;
bptr = &b_float;
*bptr = (float) a;
Это то, что вы пытаетесь сделать?