我有这个多维数组:取消引用多维数组名和指针运算
char marr[][3] = {{"abc"},{"def"}};
现在,如果我们定义遇到表达*marr
(ISO/IEC 9899:1999),它说(我引述)
如果操作数的类型“指针为类型”,结果有类型的“type”
,我们在该表达式马尔衰减到一个指向他的第一个元素的指针,在这种情况下它是一个指向数组的指针,所以当我们有* marr表达式时,我们返回'type'数组。所以我的问题是为什么当我们做(* marr)+ 1时,我们只将1字节添加到地址而不是3,这是数组的大小。
打扰我的无知我不是一个非常聪明的人我有时候会卡住这样的琐事。
谢谢你的时间。
“abc”的大小为4,char a [4] =“abc”; // {'a','b','c','\ 0'} – BLUEPIXY