C 我应该如何在心理上解析这个语句?

C 我应该如何在心理上解析这个语句?,c,pointers,dereference,C,Pointers,Dereference,我遇到了下面的陈述,心里放屁了 ++(*q)->len; q似乎是一个连续的内存数组,从外观上看, 似乎是指向结构的指针数组;抓住新的机遇 代码库,很抱歉含糊不清 我们同意上述声明 取消引用q,以获取指针值,然后取消引用并访问字段len,然后递增?在代码中,我想说的是这个++(*q)->len),将是显式执行 或者我应该这样理解,我们先取消引用q,然后增加值,然后取消引用,得到struct的len字段,该字段在增加之前的q前面一个。同样,在代码中,我想说的是(++(*q))->len,将

我遇到了下面的陈述,心里放屁了

++(*q)->len;
q
似乎是一个连续的内存数组,从外观上看, 似乎是指向
结构的指针数组
;抓住新的机遇 代码库,很抱歉含糊不清

我们同意上述声明 取消引用
q
,以获取指针值,然后取消引用并访问字段
len
,然后递增?在代码中,我想说的是这个
++(*q)->len)
,将是显式执行

或者我应该这样理解,我们先取消引用
q
,然后增加值,然后取消引用,得到
struct
len
字段,该字段在增加之前的
q
前面一个。同样,在代码中,我想说的是
(++(*q))->len
,将是显式执行

任何指引都是伟大的

更新: 我想第一个解析是有意义的
++(*q)->len)
,就好像它是第二种情况一样,
我们将得到
len
的值,然后对其不做任何处理

*q
并不意味着它是连续的内存数组。
答案是它在内存位置增加结构对象的
len
字段
q
*q
并不意味着它是内存的连续数组。
答案是它增加内存位置
q
+(*q)->len)处结构对象的
len
字段参见Lol上的wiki页面,参见更新。我最终到达了那里…这是漫长的一天。阅读,提供一个链接,删除无关语言的标签。C和C++是不同的语言。C优先顺序会使你/代码上升。建议添加另一组参数,如@RyanMcCullagh
++((*q)->len)所建议的参见Lol上的wiki页面,参见更新。我最终到达了那里…这是漫长的一天。阅读,提供一个链接,删除无关语言的标签。C和C++是不同的语言。C优先顺序会使你/代码上升。建议添加另一组paren,正如@ryanmccullaghh所建议的那样,他并没有根据该语句推断出它是一个连续数组,不过——这是他从发现该语句的上下文中收集到的。我知道,我告诉你,
q
指向内存中的一个连续数组。@izaak_pyzaak没有用“似乎是”来描述
q
,post可以更好地显示
q
与代码的关系,比如它的声明。他不是根据语句推断它是一个连续数组,虽然——这是他从发现这条语句的上下文中收集到的。我知道,我告诉你,
q
指向内存中的一个连续数组。@izaak_pyzaak与其用“似乎是”来描述
q
,不如用它的声明来说明
q
是什么。