其实只需要:a[1][2]的表达式是*(*(a+1)+2) 为什么?(地址加数字就是往后移几个后的地址)a指的是这个二维数组名或起始地址a+1指的是第一行的起始地址*(a+1)加*后指的是第一行第0列的起始地址(因为还有一整行,不能具体到某个值,所以还是地址)*(a+1)+2指的是第一行第二列的地址*(*(a+1)+2) 指的是第一行第二列这个地址上的数,也就是a[1][2]的意思。