char a[4][3][2] = {{{'a', 'b'}, {'c', 'd'}, {'e', 'f'}}, {{'g', 'h'}, {'i', 'j'}, {'k', 'l'}}, {{'m', 'n'}, {'o', 'p'}, {'q', 'r'}}, {{'s', 't'}, {'u', 'v'}, {'w', 'x'}}}; char (*pa)[2] = &a[1][0]; char (*ppa)[3][2] = &a[1];要想通过
pa
或
ppa
访问数组
a
中的
'r'
元素,分别应该怎么写?
要理解这个问题,必须搞清楚pa ppa分别表示什么,和数组a到定义,比如a[i], a[i][j],表示什么?
a[i]指向了一个二维数组,a[i][j]指向了一维数组。
如a[0]指向{{'a', 'b'}, {'c', 'd'}, {'e', 'f'}}, a[0][0],指向{'a', 'b'},
根据pa 和ppa 的定义, 就知道pa指向一维数组,ppa指向到是二维数组。
所以可以根据pa 和ppa到移动,指向r所在到数组,即可根据下表获取r。
1 #include