> 文章列表 > 【c语言】利用指针变量操作数组

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

【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++;