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

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

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

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

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

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

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

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

相关推荐
MSTcheng.5 分钟前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
晓13138 分钟前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
愚者游世8 分钟前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
小镇敲码人10 分钟前
探索华为CANN框架中的ACL仓库
c++·python·华为·acl·cann
梵刹古音10 分钟前
【C语言】 指针基础与定义
c语言·开发语言·算法
ZH154558913112 分钟前
Flutter for OpenHarmony Python学习助手实战:Web开发框架应用的实现
python·学习·flutter
Ekehlaft14 分钟前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
rit843249916 分钟前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab
开源技术19 分钟前
Python GeoPandas基础知识:地图、投影和空间连接
开发语言·ide·python
Cult Of22 分钟前
Alicea Wind的个人网站开发日志(2)
开发语言·python·vue