Function decay is the C conversion in which an expression designating a function is converted to a pointer to that function in applicable contexts.
In C, a function name used without following parentheses converts to a pointer to that function. Thus f(3) performs decay before calling, while (&f)(3) calls through its address. section 11.4
TAKEAWAY rules:
Treat function declarations and function-pointer declarations as closely related; typedefs can make callback types readable. section 11.4
Pass decayed function pointers to callback-based interfaces such as atexit, bsearch, and qsort. section 11.4
How Modern C, Third Edition covers it
How deep it goes
Explains conversion rules, equivalent call forms, declarations, callbacks, and comparison safety, stopping short of broader pointer internals.
Modern CFunction decay is the C conversion in which an expression naming a function is evaluated as a pointer to that function, except in contexts that suppress the conversion.
function pointer typeproduces · A function pointer is a value that designates a callable function and can be stored, passed, or invoked indirectly.
This explainer was generated by Manning's knowledge graph from the text of Modern C, Third Edition. The section links point to the parts of the book it draws on.