When I was still in school I struggled with pointers in C. I understood the higher level concept but struggled with the implementation. Other difficult concepts to grasp have been recursion and analyzing performance of an algorithm and representing it with Big O.