In C99 clause 5.1.2.3 paragraph 2,
Accessing a volatile object, modifying an object, modifying a file, or calling a function that does any of those operations are all side effects, which are changes in the state of the execution environment.
C standard defines side effects like above. But It seems C99 doesn't explain what exactly is accessing a volatile object, modifying an object, modifying a file(It's defined in the clause 3 what is the definition of access, modify, object. But accessing a volatile how? modifying what object? and modifying what of a file?).
There are some examples in C99 as I search with the word side effects. But I can't be sure whether each of examples is classified among accessing a volatile object, modifying an object and modifying a file.
I read What is side effect in c? and Are side effects a good thing? but still am confused.
My question is that does the C standard explicitly describe a meaning of side effects? What they mean?