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;
|