使用指针访问数组
1.使用第一个元素获取数组首地址
#include<stdio.h>
int main()
{int arr[5]={111,222,333,444,555};
int*p=&arr[0];//从第1个元素获取数组首地址
p;//指向第1个元素
p+1;//指向第2个元素
p+2;//指向第3个元素
p+3;//指向第4个元素
p+4;//指向第5个元素
printf("%d\n",*p);//第1个元素的值
printf("%d\n",*(p+1));//第2个元素的值
printf("%d\n",*(p+2));//第3个元素的值
printf("%d\n",*(p+3));//第4个元素的值
printf("%d\n",*(p+4));//第5个元素的值
return 0;}
结果为:111
222
333
444
555
2.使用数组名获取数组首地址
#include<stdio.h>
int main()
{int arr[5]={111,222,333,444,555};
printf("arr=%u",arr);
printf("&arr[0]=%u",&arr[0]);}
结果为arr=6814140
&arr[0]=6814140
3.使用指针访问数组等价于下标访问
#include<stdio.h>
int main()
{int arr[5]={111,222,333,444,555};
printf("%d\n",arr[0]);//第1个元素
printf("%d\n",arr[1]);//第2个元素
printf("%d\n",arr[2]);//第3个元素
printf("%d\n",arr[3]);//第4个元素
printf("%d\n",arr[4]);//第5个元素
printf("%d\n",*arr);//第1个元素
printf("%d\n",*(arr+1));//第2个元素
printf("%d\n",*(arr+2));//第3个元素
printf("%d\n",*(arr+3));//第4个元素
printf("%d\n",*(arr+4));//第5个元素
return0;}
现在我们学会了访问数组元素的两种办法:
1.数组名[下标]
2.*(数组名+偏移量)其中,偏移量就是指针指向的地址与数组首地址之间相差几个元素。
标签:13,指向,int,元素,arr,C语言,数组,printf,指针 From: https://www.cnblogs.com/mmwl/p/16710746.html