In C, an object is a

region of data storage in the execution environment, the contents of which can represent values

Each object has

  • size
  • alignment
  • storage duration (automatic, static, allocated, thread-local)
  • lifetime (equal to storage duration or temporary)
  • effective type
  • value (which may be indeterminate)
  • optionally, an identifier that denotes this object. 1

Notably, a function is not an object.

Footnotes

  1. Objects and alignment - cppreference.com