Thread storage duration gives an object storage duration associated with a particular thread of execution. In C23, the spelling is `thread_local`; earlier C uses `_Thread_local`. section 13.2
Keep these distinctions in view:
- Thread storage duration belongs to the storage-duration classification and is related to C’s thread API. section 13.2
- Do not equate static storage duration with the `static` storage-class specifier: `static` concerns linkage, while storage duration describes the associated object’s lifetime. section 13.2
- Objects with thread storage duration receive default initialization: arithmetic members become 0 and pointer members become nullptr. section 13.4
The spelling identifies the duration
A declaration using `thread_local` expresses thread storage duration in C23; the corresponding spelling before C23 is `_Thread_local`. The declaration’s storage-duration category also determines that default initialization applies. section 13.2 section 13.4

