指针

作者: qiqi 分类: c++ 发布时间: 2024-07-25 22:30

变量是一个存储数据的容器,可以把它想象成一个盒子,你可以在里面放东西(数据)。如果每天都随身携带一堆盒子肯定不太方便。一个有效的解决途径就是把这些盒子放在某个地方,并把这些盒子所在的位置(地址)记在卡片上,需要使用某个变量时,根据卡片记载的地址去找到变量即可。在C++中,指针就是类似卡片的特殊变量,他存储着另一个变量的内存地址

在计算机中,内存就像是一个非常巨大的田字格。程序运行时用到的所有数据(包括变量、数组、结构体、对象等等)和指令,都存储在这些方格中。因此就需要内存地址定位每个数据所在的位置。但是光有地址是不够的,因为每个格子都长得一模一样,如果只知道数据所在的位置,而不说明数据所占的范围是无法准确访问数据的。所以在确定数据所在内存的地址同时,还要说清楚这个数据占用几个“格子”。这就是数据类型,现在我们终于明白在学习数据类型时一直强调占几个字节了。因此定义指针的时候,除了明确说明他是指针以外,还需要指定具体的数据类型,这个数据类型就是起到告诉你这个数据占几个“格子”的作用。

1.定义指针变量

int *p;

这里的p就是指针变量,他与定义变量的区别是在类型和变量之间多了一个“*”。

这里需要特别注意的是,指针变量记录的地址,如果没有初始化就直接使用会十分危险。所以我们为了保险起见,在定义指针变量时,会让他指向一个特殊的位置。

int *p = NULL;

NULL是一个宏,相当于0。也就是让指针指向0号地址。



        

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

标签云