2012-03-18 17:32
提问者采纳
定义a[][4]为一个4列的二维数组后,a[2]是*(a+2),这里a是一个指向4个整型的数组指针; a[2]也可以理解为&a[2][0],因为数组a其实只定义了一行,所以&a[2][0]已经越界了,不过在c语言中越界访问是不会报错的,所以a[2][0]的地址比a[0][0]的地址偏移了2行,也就是8个整型,也是32个字节。这样理解为&a[0][0]+32也可
定义a[][4]为一个4列的二维数组后,a[2]是*(a+2),这里a是一个指向4个整型的数组指针; a[2]也可以理解为&a[2][0],因为数组a其实只定义了一行,所以&a[2][0]已经越界了,不过在c语言中越界访问是不会报错的,所以a[2][0]的地址比a[0][0]的地址偏移了2行,也就是8个整型,也是32个字节。这样理解为&a[0][0]+32也可