首先,在我们遇到这几种类型是会发现都带了一个东西——指针,而是什么是指针呢?它的定义是保存一个变量的地址,在熟悉之后我们就会发现指针他就是一个地址,它的基本形式是:存储类型+变量类型+*+变量名,例如:auto int* p=NULL,这里我们可以发现我的指针后面是等于一个NULL,它的意思就是指针p指向了一个0地址空间,这个空间是不可以访问的,如果非要访问就会报错,非法访问内存,进一步也可以知道一个指针必须有指向的,如果在初始化不给指针指向的话这个指针就是个野指针,这是在c语言中不行的。在了解了指针的基本内容之后我们就要开始进阶学习了,也就是我题目介绍的这几种类型,当然指针的类型除了题目这几种之外还有,想要更深入学习就需要自己动手了0.0。
ok!接下来我们介绍第一种类型——指针数组。
首先我们来看指针数组的基本概念:它的本质是一个数组,只不过这个数组存储的元素不是我们学习的基本数据类型,而是指针类型,也就是说这一个数组里面存的是指针,在前面我们介绍过指针他是存的地址,所以数组里面存的每一个指针时指向一个数组的首元素地址。它的基本定义形式就是:存储类型 数据类型* [数组个数]={元素内容};例如:int*p[5]={a[0],a1[0],a2[0],a3[0],a4[0]};这就是一个指针数组,里面的元素都是一个数组的首元素地址,由于数组的存储方式是顺序存储的,这样我们在访问的时候就方便的多。那么在用指针访问的时候又该怎么访问呢?我们可以发现一个指针数组像不像一个二维数组,我们就可以用一个循环嵌套,外层循环就就是行,里层循环就是列,这样一来我们就可以挨个挨个的访问了。具