c语言数组指针加减指向的基础问题

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要明确的是几个基础问题
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);
注意:
这里的++,–代表的意思是增加一个单位,在指针左边代表先进行加减再运算算,在右边代表先进行运算再加减

下面讲解++,–同理;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值