C语言系统学习6 指针初步

1.指针是什么

在计算机中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。

通俗化的来说
指针是一个变量,存放内存单元的地址(编号)
2.指针和指针类型
变量有各种的类型,有整型,浮点型等。对应的指针也会有不同的类型,类型来源于对指针的定义

char *pc=null;
int *pi=null;
short *ps=null;
long *pl=null;
float *pf=null;
double *pd=null;

指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字节)。比如:char*的指针解引用就只能访问一个字节,而int*的指针的解引用可以访问四个字节
3.野指针

野指针是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)指针变量在定义时如果未初始化,其值是随机的,指针变量的值是别的变量的地址,意味着指针指向了一个地址是不明确的变量,

野指针形成的原因
1.指针未初始化
2.指针越界访问
3.指针指向的空间释放

如何规避野指针
1.指针初始化
2.小心指针越界
3.指针指向空间释放及时置NULL
4.指针使用之前检查有效性

4.指针数组
指针数组是用来存放指针的数组
例如 int* arr[5]

猜你喜欢

转载自blog.csdn.net/qq_45742383/article/details/113744975
今日推荐