c语言关于函数中的二维字符数组的定义,但是调试后变成了一维的

在调试后,本应该是二维3×3的字符数组变成了像这样1×3的了,大家知道是怎么回事儿吗?

img

这是调试后

img

img

正常,因为a虽然是二维数组,但也可以理解成3个一位数组a[3]=[row1_ptr,row2_ptr,row3_ptr]。
a是二维数组的名称,,所以 * a 实际是访问其 第一个元素row1_ptr即第一行的地址,然后a后移1就是去访问row2_ptr即第二行地址,以此类推。
你把每行当成一个整体就行。

有啥问题啊?