#include <stdio.h> int main() { //change the vaule by pointer int i = 10; int *p; p = &i; *p = 8; //i must be 8 printf("*p = 8 // i = %d\n", i); //reduce the vaule using (*p)-- ,value is changed after printing (*p)--; //i must be 7 printf("(*p)-- // i = %d\n\n", i); //check the index int a1[10] = { 0 }; int *p1; p1 = a1; printf("before *p1++ = %d\n" ,p1); *p1++ = 1; printf("*p1++ = 1\n"); for (int j = 0; j < 10; j++) { printf("a1[%d] vaule = %d\n",j, a1[j]); } printf("after *p1++ = %d\n\n" ,p1); //pointer priority is higher than ++ /* 1. pointer addree ++ (*p1++) */ int a2[10] = { 0 }; int *p2; p2 = a2; printf("before *++p2 = %d\n" ,p2); *++p2 = 1; printf("*++p2 = 1\n" ); for (int j = 0; j < 10; j++) { printf("a2[%d] vaule = %d\n", j, a2[j]); } printf("after *++p2 = %d\n\n" ,p2); /*1. p