In c , how come function may have several declarations but only one definition? Can someone elaborate on that plz