【C++ Primer Plus学习记录】指针——指针和数字

指针不是整型,虽然计算机通常把地址当作整数来整理。

不能简单地将整数赋给指针:

cpp 复制代码
int *pt;
pt = 0xB8000000;

0xB8000000是老式计算机系统中视频内存的组合段偏移地址,但这条语句并没有告诉程序,这个数字就是一个地址。在C99标准发布之前,C语言允许这样赋值。但C++在类型一致方面的要求更严格,编译器将显示一条错误消息,通告类型不匹配。要将数字值作为地址来使用,应通过强制类型转换将数字转换为适当的地址类型:

cpp 复制代码
int *pt;
pt = (int * )0xB8000000;

这样,赋值语句的两边都是整数的地址,因此这样赋值有效。

注意,pt是int值的地址并不意味着pt本身的类型是int。

相关推荐
liujing102329291 分钟前
Day04_刷题niuke20250703
java·开发语言·算法
张较瘦_3 分钟前
[论文阅读] 人工智能 + 软件工程 | Call Me Maybe:用图神经网络增强JavaScript调用图构建
论文阅读·人工智能·软件工程
Brookty4 分钟前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
DolphinDB4 分钟前
如何在C++交易系统中集成高性能回测与模拟撮合
c++
能工智人小辰18 分钟前
二刷 苍穹外卖day10(含bug修改)
java·开发语言
DKPT19 分钟前
Java设计模式之结构型模式(外观模式)介绍与说明
java·开发语言·笔记·学习·设计模式
筏.k28 分钟前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构
编程小白gogogo40 分钟前
Spring学习笔记
笔记·学习·spring
LL.。42 分钟前
同步回调和异步回调
开发语言·前端·javascript
qq_527887871 小时前
【学习笔记】Python中主函数调用的方式
笔记·学习