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

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

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

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

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

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

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

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

相关推荐
blasit1 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
肆忆_2 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星2 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛4 天前
delete又未完全delete
c++
端平入洛5 天前
auto有时不auto
c++
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1236 天前
matlab画图工具
开发语言·matlab
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
dustcell.6 天前
haproxy七层代理
java·开发语言·前端
norlan_jame6 天前
C-PHY与D-PHY差异
c语言·开发语言