@iangill ,
I understand your difficulty with pointers as it took me ages to even begin to get my head around them. One thing I found function pointers really good for is they can go into an array. I assume you know that an array is accessed by having one or more indices, which pick out the element you want. So an array of function pointers gives a really easy way to call a particular function based only on the value of one or more index, which can be set, for example, by pressing a button or buttons while viewing a menu on a display. Put that lot together and you have a neat way to create a menu on a display, select the thing you want and call the appropriate function to do that thing. Prior to learning to use function pointers I'd have used an elaborate nest of switch / case statements.