So if I'm flying into a Class C airspace, I call approach and I establish radio contact and tell them I want to land, then I enter the airspace. If I'm still talking to approach and haven't been handed to tower yet, and they tell me to make (say) left traffic for Runway 15, does that give me permission to descend to TPA? When do I need to maintain a specific altitude in Class C and when can I descend at my discretion? And more broadly, if ATC doesn't give me any altitude restrictions in the Class C, can I fly at whatever (safe) altitude I want to as I come in for the landing?
Absent an explicit instruction to the contrary, VFR traffic can do whatever it wants in class C/D/E airspace. ATC is not supposed to give you both lateral and vertical control instructions at the same time because that could interfere with your ability to maintain VFR cloud clearance requirements. Class B has different cloud clearance, so you will almost always get both, and you should "unable" them if complying is not legal.
If ATC has told you to "advise any altitude changes", then do so—before starting up or down. If they told you "altitude your discretion", then they don't care. If they said neither, it's recommended to advise by default unless you're doing something where an altitude change is obvious, such as entering the pattern. They key is to not surprise them.