我们引用数组一共有两个方法,一个是a[i](基础法),第二就是使用指针*(p+i)或者*(a+i)(a是数组名,我们定义p=a,或者int *p=a)
我想在这里说数组其实是特殊的指针(a[i]=*(a+i))
因为[]实际上是变址运算符,意思就是a[i]其实就是按a+i来计算下一位,然后把这个地址的值找出来
在这里就不得不说指针前后的区别
定义时 int *p;的*其实是在说明p是指针变量
存入数据时我们用p=&a
因为p是指针类型,它本事就是存地址的
so输出地址我们直接用p,但是如果你要输出里面的值,就要使用*,为什么呢?因为在这里你的*变成了去址符
题干:有一个整型数组a,有十个元素,要求输出数组的全部元素
方法一,直接用我们的下标法,不用指针
方法二,使用指针
第七八行也可以用指针表示,for(p=a;p<(a+10);p++)scanf("%d",p)
实际上第七行的&a[i]也可以写成a+1(什么原因自己想)