首页
社区
课程
招聘
[分享]指针
发表于: 2021-4-21 17:46 2585

[分享]指针

2021-4-21 17:46
2585

1.为什么要精通指针?

1)提高软件效率
2)提高软件维护性
3)降低存储空间

为什么要 cpu 有内存条

内存条(RAM)易失性存储器(效率高)缺点:稳定性低
硬盘 非易失性存储器(效率低)优点:稳定性高

 

英特尔的傲腾技术:把硬盘当内存用。 相比于普通硬盘效率更高,相比于普通内存又具有非易失性的特点。

操作内存 存读

地址:相当于门牌号。
计算机最少单位字节:现今不会一位一位地拿数据,如果你只要一位数据,你可以先拿 8位=1字节 数据,再进行位运算。

 

当我们需要打印 hello,我们需要把hello送到我们的显卡,然后让显卡打印像素点。一般机器会做一个字体库,然后按照ASSII 打印出来。为了操作方便,我们的显卡会把一些显存映射到内存条里面去,只要你数据送到某个地址,那么他就是送到显卡去。
例如:
65(0x41)送去==> 0011(地址);
[3]=0x41;

2.疑问

市面上一般都是16位的CPU,现在很多32位,64位其实都是16位的CPU伪装的。

C/C++标准网站

cppreference.com c++标准官网
ioscpp.org 各个C++标准对编译器支持的情况。

指针操作

%p表示指针,有些编译器 %p 只认 void
//取地址 &
//取内存

//运算 + - ++ -- ->

指针运算 计算指针之间的类型数量。

type - type = (addr1-addr2)/ type

//函数指针

主要是为了代码的维护性
type (*pfn)( arg1,arg2);
pfn = &add;

老写法:

int ret = pfn(1,2);

新写法:

int ret = *(pfn)(1,2);


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//