• Variables are created in the main program and passed as parameters to procedures (or are global variables)
  • Each struct defines a type of variable (Plain Old Data aka POD), with variable sub-parts
    • Then we create & manipulate instances of struct types we’ve defined
    • Each instance has own state that is independent from other instances
    • In C++, struct instances can live on the stack or the heap