请教大家一个C语言的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:05:27
题目如下:
char *point;
long int i;
point=(char*)i;
最后一句是什么意思啊?自己看了半天也没看懂啊

这是一个强制类型转换的一个例子。对于上例,就是将长整型(long int)变量i强制转为字符型指针(char*)变量,即把i的值作为一个指针地址,point指向这个地址。

例如:
i = 0xFF000000(四个字节的长整型数)
那么,point则指向0xFF000000这个地址。

如果地址0xFF000000得值为字符'a',则*point = 'a'

将长整形(long型)变量i 强制转为字符型指针(char*型)变量.
并让字符型指针变量point指向i

将i强制转化为char型指针,很危险!