Ever needed a function to return more than one variable? If so, here is an example of how to do it using pointers:
#include <stdio.h> void changeThem(int *X, int *Y, int *Z) { // here we manipulate the variables directly in // memory using their addresses that we passed // the function. (*X) = 4; (*Y) = 6; (*Z) = 8; } int main(void) { // initialize your integer variables int X = 1; int Y = 2; int Z = 3; // lets print them to the screen printf("X:%d Y:%d Z:%d\n",X,Y,Z); // now change them. Note the & which means you pass the address // rather than the actual value changeThem(&X, &Y, &Z); // Print the variables again to see if they changed printf("X:%d Y:%d Z:%d\n",X,Y,Z); }
So as you can see a function can return 2, 3 or more variables. Just use pointers.