x is pass by value ._.)a it'll copy the value from given parameter
y is reference ._.) I don't quite understand this one but if the variable y is changes the variable that given as parameter will also change
z[] used when you'll pass an array
w* pass by pointer, it'll copy an address of the parameters, and you can use it to pass an array too