Hey,
ich gehe mal davon aus,dass du hier C oder C++ meinst?
Du gibst quasi einen besonderen Pointer in die Funktion, nämlich eine Referenz auf einen Speicherbereich.
Änderst du y innerhalb der Methode, so ist das auch, so ist auch das y, außerhalb der Methode verändert.
Also Pseudocode:
boolean y = false;
methode (&y);
print(y);
=> y hat jetzt den Wert, den Methode in y gespeichert hat.