十一、指针和引用(一)
十一、指针和引用(一)1、指针
1)思考
在计算机程序中,有一条铁律那就是万物皆内粗,而我们知道,内存就是一个个小格,存放着高电平或者低电平,也就是0或者1,我们要表达的一切都是通过这种二进制的方式放到内存中,当我们读取、写入,其实局势在对应的内存空间执行读或者写操作
我们今天就研究研究,当我们读取和写入的时候,背后的故事,首先我们需要知道我们读取和写入的内存地址,因为内存里有很多个小格,就好比一栋楼有很多住户,你要找好朋友张三,你就要知道他家的地址,你不能挨个去敲门,因为这样会被打死...,其次来说,效率也很低。
再者来讲,你还要知道你到底要读取多少格的内容,或者写入多少格的内容,因为不同的数据类型,占用的内存空间也是不同的
总结:操作内存,即读取和写入操作时,需要知道内存地址和内存的大小
2)内存空间模拟图
在计算机中,内存的最小单位为字节,每8个bit算一个内存地址,要操作内存,需要知道内存的地址和内存的大小
https://img2023.cnblogs.com/blog/2180585/202311/2180585-20231117234932691-401213126.png
3)指针语法
C/C++提供了让我们直接操作内存的机会,这种机会就是利用指针,利用指针操作内存需要知道两个要素:即要操作的内存地址和要操作的内存大小。
指针的本质就是一种特殊的变量类型,指针本身就是一种变量。
利用int类型的指针,可以操作int类型的数据,int类型占4个字节,所以int类型的指针操作的也是4个字节的内存。
//指针语法
数据类型* 变量名称; //数据类型解决指针内存大小的问题
//示例
int* pStudentId;#include int main(){ int* a{ }; //声明一个int类型的指针,指针指向的是内存地址 std::cout
页:
[1]