Я пытаюсь сделать следующееПриведение типов INT указатель плавать указатель
int a[8]={1,2,3,4,5,6,7,8};
printf("%f\n", *(float *)a);
printf("%f\n", *((float *)a+1));
printf("%f\n", *((float *)a+2));
printf("%f\n", *((float *)a+3));
printf("%f\n", *((float *)a+4));
printf("%f\n", *((float *)a+5));
printf("%f\n", *((float *)a+6));
printf("%f\n", *((float *)a+7));
Я получаю
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Причина, почему я пытаюсь напечатать элементы таким образом, потому что, Я хочу передать int указатель на массив указателю float и передать его как параметр для другой функции, которая принимает только float *
.
Кажется, что это не работает. Может кто-нибудь объяснить, почему это не работает?
int *ptr;
function((float *)ptr);
Если я делаю это функция не читает значения указатель указывает на правильно .. только возвращение 0.0000
.
Какова ваша ожидаемая стоимость? – BLUEPIXY
Почему вы это делаете? –