Definitions
Definitions and declarations look much the same in C; it can also be difficult to tell the difference between initialization and assignment because they use the same symbol. Here I am just trying to visually lay out the various types of statements in order to show clearly what their differences and relationships are.
C/C++
Variable | Function | |||
---|---|---|---|---|
Type | Global | Local | (Global) | |
Declaration | extern int x; |
extern int fn(); | ||
Definition | int x; |
int fn() { ... } | ||
Initialization | int x = 1; | |||
Assignment | x = 1; |