请问C语言中如何把一个二维数组用一维数组表示出来?

若定义a[][4]={1,2,3,4}
若求 a[2]=?

定义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也可
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-18
a[2] = 3

这个是无法表示出来的哦
二维数组是分行列的
第2个回答  2012-03-18
是3吗
第3个回答  2012-03-18
不懂,还是来站一下场
相似回答