指针内容全覆盖(这可能是你看到过的最全面的讲解)

上期内容中我们讲到了指针的基础内容和基础的使用方法,本期内容我们将为大家进一步讲解指针的内容

目录

一、指针和数组

二,指针数组与数组指针

三、二级指针


一、指针和数组

我们可以通过指针来直接访问数组中的某一元素,我们知道数组名表示首元素地址,数组名加整数表示数组中第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型元素。

那么指向整型指针数组的指针应该怎么写呢?

在以后的文章中我们还会介绍函数指针,函数指针数组,指向函数指针数组的指针

三、二级指针

二级指针是用来存放一级指针的地址的一种指针,对二级指针进行一次解引用我们将得到一级指针的地址,对二级指针进行两次解引用我们得到一级指针指向的数据。

通过二级指针我们也可以实现对一级指针所指向的内容进行修改。

本篇文章到此结束,下一篇文章我们将为大家带来指针进阶的讲解,谢谢大家的观看。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值