I came across this in my book. Both of them look quite similar.

void fixFlatTire(Car *myCar);
void fixFlatTire(Car &myCar);

The first one pass myCar to function fixFlatTire via a pointer.
The second one pass myCar to function fixFlatTire via L-value of myCar. So, what's the different? Am I right, in explaining this way?