'Declaration' vs 'definition' vs 'initialization' vs 'assignment' - what's the difference from a C standpoint? - eviltoast

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?

  • aMockTie@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    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.