上期内容中我们讲到了指针的基础内容和基础的使用方法,本期内容我们将为大家进一步讲解指针的内容
目录
一、指针和数组
我们可以通过指针来直接访问数组中的某一元素,我们知道数组名表示首元素地址,数组名加整数表示数组中第n+1个元素的地址。

以上代码很好的反映了数组名和数组名加整数的关系。
那么倘若我们使用指针呢?

我们根据输出的结果可以看到两者的输出结果是一致的,所以我们认为只要指针指向了数组,指针加整数可以实现访问数组中各个元素的地址。
当然通过地址我们就可以直接来访问数组中的对应元素。
#include<stdio.h>
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};
int *p=arr;
for(int i=0;i<10;i++)
{
printf("%d\n",*(p+i));
}
return 0;
}
以上代码就可以很容易的实现该功能。
除此之外指针与数组之间还有很多更为复杂的内容,我们会在后文中为大家详细解答。
二,指针数组与数组指针
指针数组就是存放的元素都是某一类型的指针的数组。
int *p[5];根据运算符的优先级我们知道p先和[5]结合表示这是一个数组,int*表明值个数组中的元素是int*型的即整型指针
数组指针即指向一个数组的指针
int(*p)[5];根据运算符的优先级别*先和p结合表明p是一个指针,指向类型是一个int型的数组数组中有5个int型元素。
那么指向整型指针数组的指针应该怎么写呢?

在以后的文章中我们还会介绍函数指针,函数指针数组,指向函数指针数组的指针
三、二级指针
二级指针是用来存放一级指针的地址的一种指针,对二级指针进行一次解引用我们将得到一级指针的地址,对二级指针进行两次解引用我们得到一级指针指向的数据。

通过二级指针我们也可以实现对一级指针所指向的内容进行修改。
本篇文章到此结束,下一篇文章我们将为大家带来指针进阶的讲解,谢谢大家的观看。
955

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



