二维数组与指针

int a[2][3]={(1,2,3),(2,3,4)};

a的类型编译器认为是int *[3]

不可以把a赋值给一个类型为int **的变量,即:

int ** p = a//wrong

a[1]的类型编译器认为是int*,可以把a[1]赋值给一个类型为int*的变量

int *p = a[1]

a并不是指向指针a[1]的指针

a和a[1]指向的是相同的位置:printf (''%p\n%p",a,a[0]);

当a做为实参传递的时候,形参必须交代清楚列的个数,即a[][3],例如

int erwei(int a[][3]){

     .......

    .......

}

main()

 int a[2][3]={(1,2,3),(2,3,4)};

erwei(a);

}

 

posted @ 2017-09-12 12:35  扫驴  阅读(185)  评论(0编辑  收藏  举报