二维数组的有关问题

二维数组的问题
请问对于二维数组a[3][3]
变量a与a[0]与a[0][0]分别表示什么

------解决方案--------------------
楼上正解,LZ需要注意,在做地址运算时,虽然a和a[0]值相同,但是代表的意义不同,具体的详见C语言的书籍。
------解决方案--------------------
C/C++ code
地址都是一样的.
不过基类型不是一样的
a[0]首行指针. a[0][0] 0行0列元素地址

看下面的代码..
#include<stdio.h>


int main()
{
    int a[3][3]={1,2,3,4,5,6,7,8,9};
    int (*pr)[3] = NULL;
    int *pdata = NULL;
    printf("a : %d\n",a);
    for(int i = 0 ; i < 3 ; i++ )
    {
        printf("a[%d] :%d\n",i,a[i]);
    }
    for( i = 0 ;  i < 9 ; i++)
    {
        printf("a[%d][%d] 地址   :%d\n", i/3,i%3 ,(&a[i/3][i%3]));
    }
    for(i=0;i<9;i++)
    {
        printf("%d  ",a[i/3][i%3]);
    }
    printf("\n");
    pdata = ((int *)(&a[0][0])+1);//指向第二个.
    printf("%d\n",*pdata);
    pdata++;//后移一个
    printf("%d\n",pdata[0]);

    pr  = (int(*)[3])(&a[0]+1);//指向第二行第1个
    printf("%d\n",pr[0][0]);
    pr++;//指向第三行第1个
    printf("%d\n",pr[0][0]);

    return 0;
}