In Lite-C it makes no difference, because it has pointer-protection, but actually you have to write create_ent(&ball); instead of create_ent(ball);
The '&' turns the expression to a pointer to ball. It would be good to form a habit of doing it correctly, although Lite-C corrects those errors, because other programming languages don't.