我有一个相当简单的问题,我只需要澄清一下。
int R3;
int **R4;
R3 = (*(*R4))+4;所以我的问题是,R4是指向指针的指针,对吗?那么,在最后一条语句中,这是意味着将指针的地址增加4,还是将4加到R4所指向的值上?
发布于 2014-08-08 05:39:03
它的意思是将值加4。R4是指向int指针的指针。*R4取消引用第一个指针,因此它是指向int的指针。同样,*(*R4)取消引用剩余的指针,并给出int的值。
发布于 2014-08-08 06:51:09
R4是指向指针的指针,对吗?
是的,这是正确的。R4是指向int的指针。
最后一条语句包含对R3的赋值。这意味着R3的值正在被更改。指定的值是表达式(*(*R4))+4。(*(*R4))产生存储在**R4 (一个int)中的值,因此表达式的值等于R4间接引用的任何int的值加上4。R4永远不会被修改。
https://stackoverflow.com/questions/25192609
复制相似问题