C++中&p1和(int*)p1的区别是什么?

2025-03-24 23:35:56
推荐回答(2个)
回答1:

&是取地址
而(int*)p1只是把整数p1转换成指针类型,而输出整型指针类型就是输出这个指针指向的地址的16进制表示。
这里(int*)p1指向内存中00000017的未知内存区域,而十六进制的17等于十进制的23。
而&p1则是整型变量p1的地址。

回答2:

&p1是取p1的地址
(int*)p1是把p1这个变量的值当作int类型指针进行强制转换
23就是十六进制的17