什么样的运算符是*(++ ptr)?

OD *_*IUM -5 c pointers notation operator-keyword

我对C很新,有时我会遇到奇怪的符号,特别是与指针有关.

一个很短的例子:

....
real *ptr;
real delta_force;
for(i<particles;...)
{
  ...some calculations
  ptr=&FORCE(i,...);  //FORCE is a macro returning the current force on a particle
  *(++ptr) += delta_force;
  ...
 }
...
Run Code Online (Sandbox Code Playgroud)

我怎么解释*(++ptr)

Mar*_*ire 8

首先递增指针,然后添加指针指向delta_force的值.

*(++ptr) += delta_force;
Run Code Online (Sandbox Code Playgroud)

意思是一样的

ptr = ptr + 1;
*ptr = *ptr + delta_force;
Run Code Online (Sandbox Code Playgroud)