Re: Pointers in C
People do find pointers tricky, and I guess that could be due to the fact that people don't really understand what they are.
Not that I reccomend going out and learning assembler just to under stand them, but I knew assembler before I started learning C, so I knew about addressing already.
Some of the code looked a little funny (ampersands and asterisks infront of variable names), and when I realised that a 'pointer' was actually just an address of a particular variable or structure, it became so much easier.
I think it's important to learn how functions are entered and exited. And to learn about how the stack works, that may solve some peoples problematic programming - like what fluff 'pointed' out.
One problem I had when I started learning C, was understanding how functions worked. I could define them etc. however I treated function calls like 'gosub' or 'goto' in basic.
What I would sometimes do, is if I wanted to 'goto' the top of the function, I would just thisveryfunc() there!! Of course a program doing that will easily run out of stack space after a while! (yeah.. recursion...)
Recursion I think is a fairly advanced subject, the only use for it that comes into mind at the moment (although there are many more) is traversing binary trees etc.
People who are used to Basic and Assembler need to get used to the idea of local variables, too
