指针的本质和使用
一、地址概念
我们首先来看看地址 是个什么概念
每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址。
画图简单说明:
二、 什么是指针?
指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。
int a=3;
int *pa=&a;
画图简单说明:
指向一个变量
2.1 指针变量声明的一般形式
指针类型 *变量名
关键 " * " 符号
int *pa;
float *pf;
BOOL *pb;
2.2 指针的定义和申明
int *pa; //定义
extern int *pa;//申明 和变量一样的用法
三、指针的运用
3.1 指针的读(访问)-写
1.指向一个变量的地址
int a=1;
int pa=&a;
3.2 访问(读)这个指针变量指向的地址里面的值
使用 这个符号 ,可不是乘号哦,只是和乘号一个符号而已 ,含义用法可别混淆了.
int c=pa;//取pa指针变量指向的地址中的值 赋值给变量c
3.3 修改(写)这个指针变量指向的地址里面的值
同样使用 这个符号
*pa=5;
printf("%d",*pa);
四、空指针的介绍和运用
上面我们在定义指针的时候 没有给指针初始化
因为我们在讲常量和变量的时候 就提及过 一定要养成给变量初始化的习惯,所以?
我们怎么给指针初始化呢?
这就要用到之前见过的 NULL,其实这个就是等于0.
用在指针变量的初始化,就说明指针指向的一个空地址也就是说什么也不指向.
这个对于后面我们判断这个指针变量是否指向了有效地址,尤其重要 切记!!!
在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个NULL值是一个良好的编程习惯.
赋为 NULL 值的指针被称为空指针.
NULL 指针是一个定义在标准库中的值为零的常量.
int *pa=NULL;
五、看图联想
原文链接:https://blog.csdn.net/F_Heart/article/details/122759025