Toriyung

导航

->使用报错情况(未完)

1. 当->和&或*等同时出现时如
/*伪代码*/

StructA pxListItem;  //结构体数据类型A
&pxListItem->xItemValue = xValue;    

上面代码本意是为了将结构体pxListItem下的xItemValue属性赋值为xValue,但按上面写法会出现报错

这是由于->的优先级比&高,执行的顺序是

/*伪代码*/

StructA pxListItem;  //结构体数据类型A
&(pxListItem->xItemValue) = xValue; 

即对结构体本身进行->操作,这导致报错,所以正确写法应该是

/*伪代码*/

StructA pxListItem;  //结构体数据类型A
(&pxListItem)->xItemValue = xValue;   

令其先执行&,此时得到指针类型再进行->操作,正确

posted on 2022-11-22 22:58  Toriyung  阅读(21)  评论(0编辑  收藏  举报