//Quick tour of pointers because I have nothing better to do//For example purposes I'll use the data type int, //but you could use any in theoryint variable;//To Create a pointerint *pointer;//To assign a pointerpointer = &variable//To access the variable through the pointer// *pointer//these are the same thing, really, //*pointer has the value stored by the memory at the address of//variable. Therefore *pointer==variable.//Pointers really become useful in functions.//supposing I have the following function //int Add(int x, int y)//{// return (x+y);//}//When the function is called, the variables submitted as x and //y have to be copied to x and y so that they can be local// variables in that function. The result also has to be copied// to the invocation of the function when it returns. There may // well be even more to it which I've forgotten, but the point //is that an awful lot of memory that doesn't need to be used up //is ruthlessly trampled on. How can we write some clean code //to get round this problem then? We use pointers.//this version eliminates the need to copy things as it is using //the variables that already exist, all you are passing to this //function are the memory addresses, very useful as memory //addresses are short, but any size of data type or class or //structure, or array can be denoted by one pointer.int Add(int* x, int *y){return(*x + *y);}int main(){int a, b;a = 3;b = 4;printf("a and b add together to give, %d\n", Add(&a, &b));return 0;}
There are other uses of pointers, but if you are currently at the stage where you don't understand pointers they probably come a little later on.
Sorry, I meant to do something short and concise but they are quite a hard topic to cover. the things you need to remember when using pointers though are some of the operators involved.
& means "Address of"
* means "value of" - known as the dereferencing operator
Any C/C++ book should explain pointers fairly well. I imagine a search of the internet could come up with some good resources fairly easily.
"In the beginning, there was nothing... which exploded." - Terry Pratchett
Edited by - hamster on January 12, 2002 1:48:18 AM