没毛病,完全正确只是*(*(w+5))这个没必要牵扯到&w[5][0]再加个星号,就用a[i]和*(a+i)等价这个事实就行了*(w+5)就是w[5],*(w[5])就是*(w[5]+0)自然就是w[5][0]了在c语言里,在访问数据时,a[k]会被编译器解释为*(a+k),所以a[k]和k[a]是一回事,a[2]和2[a]也是一样的。当然,定义数组时不能这样。