> 2. > funct_b(int&x,int&y){ > if(x != 5) > y = x + 3; > } > Call with: funct_b(a,b); // this one doesn't make sense to me: Pass a and b to address? This is _not_ C, ANSI or otherwise, but rather C++ syntax somehow grafted into C. int &x is called a 'reference' argument. From the point of view of the called function when it refers to 'x' it is referring to exactly the same memory location the caller refers to when refering to the argument passed to the parameter 'x'. Under the hood references arguments are implemented exactly like pointer arguments. It is just a syntax difference. When the caller says 'funct_b(a,b)' the compiler actually passes pointers to a and b. It knows to do this because funct_b was declared with reference arguments. When the callee assigns to x or y, it is actually assigning indirectly thru the under-the-hood pointer. While I often use reference arguments in writing C++ for Windows/Unix/Linux I would steer clear of them in your CCS work for a couple of reasons: 1. They are NOT standard C 2. They hide what is really happening 3. They hide a non-trivial overhead in some cases. Bob Ammerman RAm Systems -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu