首先需要明确的是几个基础问题
1.数组名代表的是数组的首地址
2.用指针指向数组的首地址两种方法
p = &a[0] 或者p=a 二者等价
3.指针赋值方式
int *p,*p1,*p2,i,a[20];
(1)p= &i; 完成的功能:将变量 i 的地址赋值给指针 p,即:p→i。
(2)p= a; 完成的功能:将数组 a 的首地址赋值给指针 p,即:p→a[0]。
(3)p= &a [i]; 完成的功能:将数组元素 a[i]的地址赋值给指针 p,即:p→a[i]。
(4)p1= p2; 完成的功能:将指针变量 p2 的值赋值给指针 p1,即:p1 与 p2 指向同一个地址。
指针的自增自减:
大致可以分为 8 种格式:
(1)指针变量++ 例如:p++;
(2)++指针变量 例如:++p;
(3)指针变量-- 例如:p–;
(4)–指针变量 例如: --p;
(5)指针变量*++ 例如:*p++;或 (*p) ++;
(6)++*指针变量 例如:++*p; 或 ++(*p);
(7)*指针变量-- 例如:*p–; 或 (*p) --;
(8)–*指针变量 例如: --*p; 或 --(*p);
注意:
这里的++,–代表的意思是增加一个单位,在指针左边代表先进行加减再运算算,在右边代表先进行运算再加减
下面讲解++,–同理;

本文详细介绍了C语言中数组指针的基础概念,包括数组名表示首地址,指针指向数组的不同方式,以及指针的加减操作。通过8种不同的格式展示了指针自增自减的规则,并提供了示例代码帮助理解指针操作如何影响数组元素的值。特别强调了指针使用时避免越界的重要性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



