Dont really understand types passed to functions

BlitzMax Forums/BlitzMax Beginners Area/Dont really understand types passed to functions

I'm coming from C and in blitz max when passing a type to a function, does the function modify the actual elements of the type instead of making a copy?

I wouldnt normally do this in c but my main loops looks something like this

While Not(KeyDown(KEY_ESCAPE))
	
	UpdateCar(car)
	UpdateRoad(road)
	Flip()
	Cls()		
Wend
End	



Function UpdateCar(c:TCar)
	
	UpdateCollision(c)
	DrawImage(c.img , c.x , c.y)
	UpdateKeyboard(c)	
End Function

Function UpdateKeyboard(c:TCar)

	If KeyDown(KEY_RIGHT) 	c.x :+ c.speed
	If KeyDown(KEY_LEFT) 	c.x :- c.speed		
End Function



what im trying to ask is memory wise is this the right thing to do in blitz max. its a little wierd not using pointers and stuff.