C指针转换问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:07:10
比如有两个指针,两个变量
int *a,a1=3;
float *b,b1=9;
我怎么用*a指向并输出b1 ?
*b怎么转换成void 型指针?

#include <stdio.h>

int main(void)
{
int *a,a1=3;
float *b,b1=9;

a=&b1;
printf("%f ",*a);
b=&a1;
printf("%d",*b);

getch();

return 0;
}

运行结果不正确,把float型改为long型就可以正确输出。。
浮点数和整形数的存储方式就有很大区别,指针不能互用。。

void指针只能用于函数形参和函数返回值,不能用于声明变量和指针。。

a = ( int * )b;
b = ( void * )b;