c language underlying operation memory pointer