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

mac2022-06-30  24

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

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)