首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

*(int *)&a跟(int &)a啥区别

2012-09-11 
*(int *)&a和(int &)a啥区别前者是一个c语言例子上的,意思是a地址处内容按整形取出,这个明白,但是加上另一

*(int *)&a和(int &)a啥区别
前者是一个c语言例子上的,意思是a地址处内容按整形取出,这个明白,但是加上另一句就不行了,如下:
#include <stdio.h>
int main()  
{
  float a = 12.5;
  printf("%d\n", (int)a);
  printf("%d\n", *(int *)&a);
  //printf("%d\n", (int &)a);//xxx//dereferencing type-punned pointer will break strict-aliasing rules
  return 0;  
}

//xxx处的句子是在一个c++程序里见的(http://blog.sina.com.cn/s/blog_96551047010122m9.html),但是换成c++也是同样错误啊!我怎么不记得c语言哪里见过(int &)?但c++貌似也不认啊?

[解决办法]
有后int &m吗

热点排行