下面是我们c语言教科书上的一小段代码:
#include
#define N=2
#define M=3
int main(void)
{
static int a[N][M]={1,2,3,4,5,6};
int *arr[N]={a[0],a[1]};
int i,j,**p=arr;
for(i=0;i<M;i++)
{
printf("%d",*(*(p+i));
printf("\n");
}
return 0;
}
我是初学者,有两个地方看不懂----1:在定义数组a时前面加的static是什么东西?有什么作用?
2:int *arr[N]={a[0],a[1]};这条语句的指针可以是数组吗?arr又代表版纳个数组的地址?
这两个问题想了很久都想不通,望高手解答!!!!
arr又代表哪个数组的地址?对于第一个问题能在详细点吗?我们一般定义数组时并没有在前面加个static啊!
|