数组的指针
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在前面的学习中我们已经知道数组是由几个数组元素组成的,一个数组占用的是一个连续的内存空间,数组名就是这块内存的首地址,也是数组第0个元素的地址。比如:
int a[5], *p;
//数组名a就是数组a的首地址,也是a[0]的地址。
想要指针p指向数组a的首地址,可以这样写:
p = &a[0]; //指针p指向数组的第0个元素
或者:
p = a;
上面的两个语句是等价的。如果在声明指针时就初始化,可以这样写:
int a[5], *p = a;
或者
int a[5], *p = &a[0];
以前我们想使用数组的数据总是要根据下标才能找到相应的数据,其实指针也可以,我们使用指针来给数组a进行赋值。
int a[5], *p = a, i;
for (i = 0; i < 5; i++)
{
*p = i;
p++;
}
p
指针开始指向a[0]
,p+1
之后指向a[1]
,以此类推,到循环执行结束指针p
指向数组a
的最后一个元素。
在线练习
{$ activeFileHint $}