There are no authoritative definition AFAIK, but this is a way too coarse definition to qualify for me at least.
I think many equate FP with referential transparency, garbage collection, first class functions/closures. But usually it’s a sort of mix of all the above or opt-in. Standard ML makes it easy to mutate state for instance.
C is by no means a functional language. It is perhaps the definition of imperative; the poster child.
If I write my code primarily in a way that is simply supposed to achieve functionality then it's by definition functional programming.
Regardless of the language used!
[dead]