首页 > 代码库 > Linux c 指针问题

Linux c 指针问题

char ch = ‘a‘;

char *cp = &ch;

= ++*cp++;

第三句怎么解释?



= ++*cp++;

应该作为左值非法(处于等号左边),作为右值(即放等号右边),该怎么解释???



我已经看出来了,执行结果是这样:
=++(*(cp++));
系统由于后缀,先产生一个cp的拷贝,然后cp原值间接访问内容,然后将内容加1。
结果是a 变为了b

wKiom1Rh2aiCnHn9AAItoSKzbqc812.jpg

本文出自 “边喝茶边看” 博客,请务必保留此出处http://yale1234.blog.51cto.com/2223964/1575446

Linux c 指针问题