【c语言】利用指针变量操作数组

创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ 

目录

指针知识:

一、数组名+偏移量操作成员空间 

二、深度理解 [ ]

三、不同方法遍历数组 


指针知识:

指针操作详解https://blog.csdn.net/TiSg0/article/details/129999819?spm=1001.2014.3001.5501&操作找到地址 *操作获得空间使用权

一、数组名+偏移量操作成员空间 

 数组名是一个不可改的地址常量数组名代表第0个元素的地址  不可改变!!

 当直接输出数组名,不输出其中的成员时:   数组名就是数组起始空间地址!!!

#include <stdio.h>
int main()
{
	int arr[6];
	printf("%p\n", arr);
}

 打印结果为一个地址值,理解为:数组第0个元素的首地址

 数组名+偏移量操作成员空间

#include <stdio.h>
int main()
{
	int arr[4]={0,5,6,1};
	printf("%d ", *(arr+0));
	printf("%d ", *(arr+1));
	printf("%d ", *(arr+2));
	printf("%d ", *(arr+3));
}

 从数组的第0个元素的地址开始,依次增加偏移量产生新的地址,再用*得到其地址对应的空间。

二、深度理解 [ ]

作为运算符的作用:就是指针移动!!!        不要把[ ]当作固定运算符  当作计算过程!!!

  [ ] 是计算过程: 参考地址 [ 偏移量 ] ===  *(参考地址 +偏移量)  拆 [ ] 组 * 

 一些奇奇怪怪的拆分过程:O_O

#include <stdio.h>
int main()
{
	int a[6] = { 1,2,3,4,5,6 };
	printf("%d %d\n", a[1], 1[a]);// *(a+1)  *(1+a)
	printf("%d %d\n", (a + 2)[1], (-1)[a + 4]); //*((a+2)+1) == *(a+3)   * ( -1+(a+4)) == *(a+3)
	return 0;
}

三、不同方法遍历数组 

数组名是指针常量,不能自增操作修改,而指向数组的指针是指针变量可以自增修改操作。 

 d*p++;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天喜Studio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值