"I'm quite sure it is but I would like to have it backed up based on the C standard."
Although this is a pretty basic question (as you probably already know), here is the quote to provide the complete standard compliance you wanted:
ISO/IEC 9899:2018 (C18), "Function calls" 6.5.2.2/4 (emphasize mine):
"An argument may be an expression of any complete object type. In preparing for the call to a function, the arguments are evaluated, and each parameter is assigned the value of the corresponding argument.97)
97) A function can change the values of its parameters, but these changes cannot affect the values of the arguments. On the other hand, it is possible to pass a pointer to an object, and the function can then change the value of the object pointed to. A parameter declared to have array or function type is adjusted to have a pointer type as described in 6.9.1."