-
-
[分享]指针
-
发表于: 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);
赞赏
看原图
赞赏
雪币:
留言: