packages feed

hs-bindgen-1.0.0.0: test-artefacts/headers/golden/declarations/definitions.h

/*
 * A definition is a declaration that provides all information about the identifiers it declares.
 *
 * Every declaration of an enum or a typedef is a definition.
 *
 * <https://en.cppreference.com/w/c/language/declarations.html#Definitions>
 */

// For functions, a declaration that includes the function body is a function definition:

int foo(double); // declaration
int foo(double x) { return x; } // definition

// For objects, a declaration that allocates storage (automatic or static, but not extern) is a definition, while a declaration that does not allocate storage (external declaration) is not.

extern int n; // declaration
int n = 10; // definition

// For structs and unions, declarations that specify the list of members are definitions:

struct X; // declaration
struct X { int n; }; // definition

union Y; // declaration
union Y { int m; int o; }; // definition