Go slow on the topic of pointers. 'C' gives great flexibility in accessing our data (and WHERE and HOW that data is accessed). With such power comes the opportunity to have unexpected program behavior, or quite cryptic bugs. It behooves us to be extra careful. In this installment, '&' and '*' are presented.
So, the variable 'int days;' stores an integer. The variable 'int *pnt_days;' stores the ADDRESS of an integer variable. "pnt_days = &days;" assignes the ADDRESS of 'days' to the pointer 'pnt_days'. You may notice that each time you run pgm8, the memory addresses change. That's because the operating system - at any given moment - will assign program space & memory "on the fly".