大家都在看
C语言面试题 绝对地址赋值问题
最佳答案
因为ptr是 int * 类型的。表示指向int型数据的一个指针。
ptr = (int *)0x67a9 表示将0x67a9强制转换成存放int型数据的地址,再把这个地址赋值给ptr。
()里加数据类型是强制转换类型的意思
ptr = int 0xaa55;
这个写法应该是不合法的
即使改成 ptr =( int )0xaa55; 也不对,因为左边是地址,右边是int型数据。数据类型不对等。
可以改成 * ptr = (int) 0xaa55;就对了,,这样两边数据类型对等,都是一个int型的数值了
声明:知趣百科所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请在页面底部查找“联系我们”的链接,并通过该渠道与我们取得联系以便进一步处理。