理解C:增加指针

H-H*_*H-H 1 c pointers

我正在攻读编程语言的考试,我偶然发现了这个问题(用C语言编写):

*tp++ = *sp++;

我明白了什么*tp = *sp; 可能会这样做,但在这里,指针何时递增?之前,在获取值之后?按什么顺序?我感谢你的回答

Dav*_*sta 7

由于++运算符位于变量之后,因此在计算表达式后,值将递增.因此,这会将当前指向的值分配给当前指向sp的位置tp,然后递增两个指针.

如果表达是相反的

*(++tp) = *(++sp)
Run Code Online (Sandbox Code Playgroud)

然后指针将在评估之前递增.

这些结构通常出现在循环内.