一、指针+-整数
1、
分析:
要注意vp虽然未初始化,但并不属于野指针,因为vp未被解引用,危险还未发生,解引用指针即*vp时才会使vp成为野指针,发生危险。先进行循环初始化赋值,把数组首元素地址给vp,进行循环条件的判断
如上图所示,vp<&values[5],满足条件
执行循环语句*vp++=0;,因为++是后置的,所以先使用再++,所以先解引用*vp=0,完成后再进行vp++,(注意是vp++地址++而不是*vp++,因为++是单目操作符,不能对表达式*v进行操作,若想对*vp++的话需要((*vp)++地址指向的内容进行++)。
循环变量改变处没有语句,所以直接进行循环条件判断, 满足条件vp<&values[5],接着执行循环语句*vp++=0;,
循环条件判断, 满足条件vp<&values[5],接着执行循环语句*vp++=0;,
循环条件判断, 满足条件vp<&values[5],接着执行循环语句*vp++=0;,
循环条件判断, 满足条件vp<&values[5],接着执行循环语句*vp++=0;,
<