> I thought it was a bit of a miss that C didn't use ^ as the pointer sigil. I mean it's literally pointing. I'm guessing some early terminals didn't have that character on the keyboard.

That can't be the reason; IIRC Pascal has always used '^' for pointer derefencing (just like git's HEAD^^^)