Jim Stapleton wrote: > Lets say I'm iterating through an array, and I have a lot of > operations on the array needed to alter it... > > int p = {1, 2,3,4 ...}; > for(int i = 0; i < length_of_p; i++) > { > some_op(p+i); > } > > void some_op(int *t) > { > /*do stuff with/to t*/ > } > > In C++ I could simply do int &t in the function, and it'd be fine, but > in C I have to use a pointer, which means a lot of dereferencing. Is > there any way to efficiently have the same effect as &x = &y (having a > variable "be" another variable, rather than just point to it) in plain > C with GCC, or is that out of the question? > You could always use define macros, e.g. void somefunc(int *pX) { #define X *pX X *= 3; X += 4; X whatever ...; #undef X } But I would recommend against that as it makes the code harder to read in the long run (imagine having 12 parameters + 15 locals + structs from various header files + etc). Tom