Sorry for such a newbie question but there is something I do not quite understand the difference between a C# reference and a pointer. They both point to a place in memory don't they? The only difference I can figure out is that pointers are not as clever, cannot point to anything on the heap, are exempt from garbage collection, and can only reference struts or base types.
One of the reasons I ask is that there is a perception that people need to understand pointers (from C I guess) well to be a good programmer. That a lot of people who leant higher level langauges miss this out and therefore have this weakness.
I just don't get what is so complex about a pointer? It is basically just a reference to a place in memory is it not? Can return it's location, or can be used to interact that the object in that location directly?
So have a missed a massive point?