我刚刚注意到一些我对指针和++运算符不太了解的东西.让我们检查一下这段代码
int test = 0;
int* pTest = &test;
*pTest = *pTest + 1;
*pTest++;
Run Code Online (Sandbox Code Playgroud)
当第一次编写这段代码而不试用它时,我期望最后两行做同样的事情并测试得到值2,但是最后一行增加了指针地址一个,这就是刚才
pTest++;
Run Code Online (Sandbox Code Playgroud)
会做.我只是遗漏了一些非常明显的东西,或者为什么
*pTest++;
Run Code Online (Sandbox Code Playgroud)
和
pTest++;
Run Code Online (Sandbox Code Playgroud)
做同样的事情?
*pTest++
是一样的 *(pTest++)
.
像这样在它周围放一些parantheses:
(*pTest)++;
Run Code Online (Sandbox Code Playgroud)