首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c语言中实现用指针遍历数组

传统的遍历数组都是通过数组名加上索引来实现数组的遍历的。那么在c语言中还可以实现通过指针来遍历,通过数组的指针来遍历。如:

#include

int main ()

{

int a[]=;

int *p;

p=a;

for(int i=0;i

         printf("a[%d]=%d\n",i,a[i]);

}

printf("---------------\n");

//数组占据内存中一块连续的存储空间

//十六进制与10进制的对应关系是:0-9对应0-9;A-F对应10-15

for(int x=0;x

         printf("a[%d]:%p:%d\n",x,(p+x),*(p+x));

}

return 0;

}

这里会感觉p+x这种操作方式比较奇葩,其实这里只要抓住两个核心即可。

首先数组占据内存中是一块连续的存储空间,而数组的指针就是这练习的存储空间中的第一个索引的位置,那么指针的自增就相当于移动到下一个紧接这这个索引的那个位置了。

这里由于是int型的,所以每移动一个位置就会增加4个字节,指针地址是以16进制来呈现的,那么可以参考下当前程序的运行结果就可以看到每次移动一个位置就增加4个字节的规律了十六进制与10进制的对应关系是:0-9对应0-9;A-F对应10-15。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210929A0G5KM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券