The core of C language lies in pointers. If you don't need to compile these two pointer questions to get the correct answer, you must be a master of C, it's not difficult to choose a master without button-pointer! Question 1: Evaluate the values of p [-1] and p [-5] # include <stdio. h> int main (void) {char * p = NULL; char * tmp = "12345678"; p = (char *) (tmp + 4 ); // p [-1] = ?, P [-5] = ?. Return 0;} Question 2: evaluate the value of p [0] -- p [5] # include <stdio. h> int main (void) {char * data = "12345678"; short * tmp = NULL; char p [6] = {0}; tmp = (short *) & p [2]; * tmp = atoi (& data [4]); // p [0] = ?, P [1] = ?, P [2] = ?, P [3] = ?, P [4] = ?, P [5] = ?. Return 0;} If you think it is not enough, let's try again: int * p = (int *) 0x1234; printf ("p = % p, * p = % d \ n ", p, * p); you should always know the answer to this question ......