Just because something is conceptually simple does not make it simple to use.
Similarly pointers are simple. They are things (usually variables) used to point to other things in memory by storing the memory address of the target.
They are simple. And yet their usage is very complex.