From what I’m able to understand:
- declaration is when prototype or declaration is used to describe the features
- definition is when a declaration is also assigned a literal or an object, such that a chunk of memory is allocated
- initialization is the assignment of an object, either during definition or immediately after declaration
- assignment is the setting of a value of a particular object at any stage of the program execution
Which of the follow terms overlap? Which of them is a superset/subset of each other?
You must log in or register to comment.
My understanding:
int a = 1; // variable definition = // declaration + initialisation int b; // variable declaration b = 2 // variable initialisation, // type of assignment a = 3 // variable assignment int f(int x, int y); // function declaration int g(int z) { return z; } // function definition int f(int x, int y) { return x + y; } // function definition
I would define them as follows:
- Declaration: This thing exists.
- Definition: Here are the details for how this thing works.
- Initialization: Assign the initial state to this thing.
- Assignment: The value of this thing is now X.