In retrospect I don't understand either. It's such a simple concept. But it really befuddled me for a while.
My suspicion is that since everything involved pointers in C, even things like string manipulation, it was just an extra layer of confusion in a sea of new to me stuff.