作业帮 > 数学 > 作业

假设二维数组a定义为float a [3][4],下列对数组第二行第二列元素引用方法中,错误的是

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/03 06:12:42
假设二维数组a定义为float a [3][4],下列对数组第二行第二列元素引用方法中,错误的是
A *(a[0]+5) B a[2][2] C a[1][1] D *(a[1]+1)
答案很显然是B,因为B和C必须有一个错了.
这里有3个"包含了4个float元素的数组"的数组,要知道这3个数组的内存是连续的,所以总共12个float,假设初始化为:{1,2,3,4}{5,6,7,8}{9,10,11,12},他们在连续的内在中.题中的二行二列元素就是"6".
a,a[0],a[0][0]都指向同一个地址(1的地址,但含义完全不一样).
a[0],a[1],a[2]分别是第一、二、三个数组的地址,是float*指针,所以a[1]本来指向5,+1后指向6.a[0]本来指向1,+5后指向6.
理解为x[4],y[4],z[4]三个连在一起的数组,那么题中的a[1]=y,a[1]+1=y+1