指针与数组关联导致的一些现象

1、当指针指向数组元素时,C语言允许对指针进行数值运算,支持并且只支持以下三种运算

(1)指针加上一个整数

(2)指针减去一个整数

(3)两个指针相减

2、两个指针的比较

p1=&a[1];
p2=&a[2];

则p2>p1

3、若数组有N个元素,则虽然a[N]不存在,但经常使用

for(int *p=&a[0]; p<&a[N]; p++)
for(int *p=&a[0]; p<a+N; p++)

4、指针与数组的两种关联形式:

(1)上面所述的算术运算

(2)用数组的名字作为指向第一个元素的指针

a+i等效于&a[i]

*(a+i)等效于a[i]

5、对于形式参数而言,声明为数组跟声明为指针是一们的。但是对于变量而言,声明为数组跟声明为指针是不同的。声明为数组导致编译器会为数组根据元素的数量预留空间,但声明为指针只会导致编译器为一个指针变量分配空间。

转载于:https://www.cnblogs.com/jinhong-lu/archive/2013/02/11/4559558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值