这里的指针是指原始指针,并非智能指针。计算机跟内存打交道,内存是计算机的一切,编程中最重要的东西可能就是内存。当你编写一个应用程序并启动它时,整个程序被载入内存,在你写的代码中,所有指令告诉计算机要做什么,所有这些被加载到内存中,这就是cpu如何访问你的程序并执行指令的。当你创建一个变量时,当你从硬盘中载入数据时,所有东西都会被存储到内存中,如果没有内存,你将什么也做不了。而指针对管理和操纵内存很重要。所以什么是指针?
一、指针的定义
指针是一个无符号整数(unsigned int),其值表示一个内存地址(其存储一个内存地址)。
因为我们代码所做的每一件事都是从内存中读取或者写入内存。内存可能是你拥有的至关重要的东西,你的电脑所能提供的重要的资源,所有的东西都依赖它,所以能够对这些内存有更多的控制至关重要。指针的类型与指针的值没有任何关系,类型只是我们虚构出来的,好让我们感觉轻松些,别管你有什么类型的指针,里面存放的都是个整数,都是个地址。
二、实例应用
新建项目,里面只有一个main.cpp文件。

这里新建个指针,void类型的,把变量var的地址存里面了。
再次强调,指针是没有什么类型的,里面存储的只是一个地址,一个整数,如果要是说有类型,只是指它所存储的地址所指的里面是存放什么类型的数据而已。
指针如果是空的话,我们可以这样写:
void*ptr=nullptr;
我们如上图所示F9来设置断点,按F5来调试程序。

当我们把鼠标悬停在ptr上时,显示一个地址0X0034FA58.我们把内存视图调出来

我们输入这个地址来看一看,这个地址中存放的是什么?

发现这个地址中正好存放的是8,变量var的值。
从这个实例中我们更加理解了,指针是个变量,是个存储地址的变量。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



