指向2D数组的指针数组,读取不正确的值

zor*_*rro 2 c arrays pointers multidimensional-array

我需要一些帮助来访问带有指针的2D数组.

我有8个全局char数组声明如下:

char s1[4][16], s2[4][16], ... , s8[4][16];
Run Code Online (Sandbox Code Playgroud)

它们的值稍后在main函数中设置.

我有一个指向这些数组的8个指针的数组,

char (*s[8])[4][16];
Run Code Online (Sandbox Code Playgroud)

此数组中的每个指针都分配如下:

s[0] = &s1;
s[1] = &s2;
..
..
s[7] = &s3;
Run Code Online (Sandbox Code Playgroud)

现在要访问s1的元素*s[0][i][j],但是我没有获得与s1 相同的值s1.同样适用于情况s2,s3等等.

有人可以告诉我出了什么问题吗?

Mik*_*CAT 7

索引运算符的[]优先级高于间接运算符*,因此必须使用括号来取消引用指向数组的指针.

试着做(*s[0])[i][j].