(int)&a和(int*)&a有什么区别

周钧延 |浏览1453次
收藏|2020/03/04 07:12

满意回答

2020/03/04 07:23

(int)&a; 表示将a的地址转成整形的,注意它不是地址了,只是一个整形的值而(int *)&a表示将a的地址转成整形的指针,这个没有意义,因为&a本身就是整形的指针对32位编译器的int a;(int)&a,(int *)&a,&a的值是相同的但因为(int)&a是整形,它输出是十进制而(int *)&a是指针,一般编器输出的是十六进制对64位编译器,int)&a是一个4字节整形值,而(int *)&a因为是64位指针,它是个8字节的值了

whoami1978

其他回答(0)
0人关注该问题
+1

 加载中...