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