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

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

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

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

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

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

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

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

相关推荐
我的运维人生2 分钟前
Python技术深度探索:从基础到进阶的实践之旅(第一篇)
开发语言·python·运维开发·技术共享
Bonne journée4 分钟前
‌在Python中,print(f‘‘)是什么?
java·开发语言·python
IM_DALLA10 分钟前
【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL74
学习·fpga开发·verilog学习
Two_brushes.16 分钟前
C++ list 容器类的模拟实现
开发语言·c++·list
王俊山IT31 分钟前
C++学习笔记----8、掌握类与对象(五)---- 嵌套类与类中枚举
开发语言·c++·笔记·学习
Bruce_Li_Q32 分钟前
C语言贪吃蛇
c语言·开发语言
心怀花木38 分钟前
【算法】双指针
c++·算法
闫铁娃39 分钟前
二分解题的奇技淫巧都有哪些,你还不会吗?
c语言·数据结构·c++·算法·leetcode
XUE_DING_E42 分钟前
计算机网络思维导图
计算机网络
ZachOn1y1 小时前
计算机网络:计算机网络概述 —— 网络拓扑结构
网络·计算机网络·网络拓扑·知识点汇总·考研必备