一、概念
1、在C语言中通常有这样的规定,C语言的使用中数组名其实就是代表着数组的第一个元素,同时也代表着数组的起始地址,那么我们通常将这个称为数组的首地址,数组的首地址是一个地址常量。因此, 数组名是指向数组首元素的常量指针,在程序运行过程中, 不允许改变数组名的值。
2、在C语言的学习阶段中有着这样的一个规定,我们使用指针p指向一个数组p2后,表达式 “p2+i”的用处与“p+i”相同.
二、一维数组元素引用方法
C语言中,通常我们会对一维数组元素的引用使用两种方式那么以下两种方法:下标法和指针法我们都需要掌握。
(1)下标法:用a[e]或p[e] 表示数组第e+1个元素。
(2)指针法:用*(a+i)或*(p+i) 表示数组元素a[i],
即数组第i+1个元素。
接下来我们通过一段代码来了解C语言中指针和维数组的使用方法
//FileName: chap6_4.c
#include <stdio.h>
int main( )
{
int a[10],i,*p;
p=a;
for(i=0;i<10;i++)
a[i]=2*i+1;
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<10;i++)
printf("%d ",p[i]);
printf("\n");
程序运行结果如下: 1 3 5 7 9 11 13 15 17 19 1 3 5 7 9 11 13 15 17 19 1 3 5 7 9 11 13 15 17 19 1 3 5 7 9 11 13 15 17 19
注意:*(p+i)表示a[i],即数组中第i+1个元素,而指针本身的指向并未发生改变,依然指向数组的首地址。