#include int main (void) {INT i = 12; struct part_date_tag {int MONTH;} PP; struct part_date_tag * p; p = & pp; p = i; printf ("% d / n", & p -> MONTH); Getch ();} # ion (void) {INT i = 12; struct part_date_tag {int month;} pp; struct part_date_tag * p; p = & pp; p = i; Printf ("% D / N", & P-> Month; // Because the address is assigned to the pointer P in the previous assignment statement, the value of // variable I is assigned to P is stored in the numerical value. P In memory, when the result of the output // out of the member MOT, the program takes out the data from the address, so it must be added to the & symbol} #include int main (void) {INT i = 12; struct part_date_tag {int MONTH;} PP; struct part_date_tag * p; p = & pp; p-> month = i; // Direct I assumed i to member MONTHPRINTF ("% D / N", P-> Month); // If you add & symbols when you output, the output is the address of Month in memory. Getch ();} # include int main (void) {INT i = 12; struct part_date_tag {int MONTH; } pp; struct part_date_tag * p; p = & pp; (* p) .MONTH = i; // Due to the high priority of the structural member operator (.) is high than the indirect operator (*), // must use parentheses Penn the pointer PRINTF ("% d / n", (* p) .month); // can also be written into Printf ("% D / N", & P-> Month) during output; getCh ();}