int a[2][3]={1,2,3,4,5,6};int *p;p=a[0];输出*(p+1)为2;p=a;输出*(p+1)也为2;请问下p=a[0]和p=a含义有区别么?
a是二维数组,用指针操作时可看作是一个二级指针。也就是说a是二级指针,而您声明的int *p是一级指针。把p=a是类型不匹配的,有的编译器可以编译(这里进行了强制转换p=(int *)p),有的不行,严格来说,这是错误的。a[0]是一级指针。p=a[0]才是正确的。
太感谢了,关于二级指针方面的内容哪里有更详细的介绍??谭的那本书里好象没这个概念哦。