发布网友 发布时间:2023-09-05 18:35
共2个回答
热心网友 时间:2024-11-17 18:59
int i=*(int *)&x;相当于int i=x;功能是把x的值赋给i追答
如果x也是int型变量,那么可以认为二者等价!
如果x不是int型变量,比如是float型变量,那么语句int i=*(int *)&x;执行后,i的值会变得很神奇(可能会让你惊讶)
而语句int i=x;执行后,i的值是对x的值取整,举个例子,看以下代码:
#include <stdio.h>以上程序的结果,输出i的值应该是以1开头的很大的整数,而把语句int i=*(int *)&x;改成
int i=x;后,输出i的值为3
热心网友 时间:2024-11-17 18:59
&x:表示取变量x的地址值,地址即指针。