我有这个多维数组:
char marr[][3] = {{"abc"},{"def"}};
现在,如果我们根据定义遇到表达式*marr
(ISO/IEC 9899:1999),它会说(我引用)
如果操作数的类型为“类型指针”,则结果的类型为“类型”
在那个表达式中,marr 衰减到指向他的第一个元素的指针,在这种情况下,它是一个指向数组的指针,所以当我们有表达式 *marr 时,我们得到大小为 3 的“type”数组。所以我的问题是为什么当我们执行 (*marr) + 1 时,我们只向地址添加 1 个字节而不是数组大小的 3。
原谅我的无知,我不是一个很聪明的人,我有时会被这样的琐碎事情困住。
感谢您的时间。