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)?
首先递增指针,然后添加指针指向delta_force的值.
*(++ptr) += delta_force;
Run Code Online (Sandbox Code Playgroud)
意思是一样的
ptr = ptr + 1;
*ptr = *ptr + delta_force;
Run Code Online (Sandbox Code Playgroud)