菜鸟求大神帮助,关于int *pa=a;的问题
关于一道小程序的问题。
程序代码:#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int i;
int *pa;
pa=a;
for(i=0;i<9;i++)
{
printf("%d\n",*pa);
pa++;
}
}
。。。。。。。。。。。。。。。。。。。。。。。。
程序代码:#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int i;
int *pa=a;
for(i=0;i<9;i++)
{
printf("%d\n",*pa);
pa++;
}
}
上面两种形式能够得到同样的形式,但是不懂为什么能够写成int *pa=a;这种形式。

然后按照第二种写法,写成下面这种形式,就是错的了
程序代码:
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int i;
int *pa;
*pa=a;
for(i=0;i<9;i++)
{
printf("%d\n",*pa);
pa++;
}
}
为什么第二种写法可行,而第三种就不行了?
菜鸟求大神解答









