引用一个数组元素,可以用以下两种方法:
1.下标法,如 a[i]
形式;
2.指针法,如 *(a+i)
或 *(p+i)
。其中 a 是数组名,p是指向数组元素的指针变量,其初值为 p=a
;
例1.
有一个整型数组 a,有5个元素,要求输出数组中的全部元素
(1)下标法
# include<stdio.h>
int main()
{
int i,a[5];
printf("Please enter 5 integer numbers:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
(2). 通过数组名计算数组元素地址,找出元素的值
# include<stdio.h>
int main()
{
int i,a[5];
printf("Please enter 5 integer numbers:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
printf("%d ",*(a+i));
printf("\n");
return 0;
}
(3). 用指针变量指向数组元素
法一:
# include<stdio.h>
int main()
{
int i,a[5],*p;
p = a;
printf("Please enter 5 integer numbers:\n");
for(i=0;i<5;i++)
scanf("%d",p+i);
for(i=0;i<5;i++)
printf("%d ",*(p+i));
printf("\n");
return 0;
}
法二:
# include<stdio.h>
int main()
{
int i,a[5],*p;
printf("Please enter 5 integer numbers:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(p=a;p<(a+5);p++)
printf("%d ",*p);
printf("\n");
return 0;
}