总结起来就是 * 就近;如果const比* 离变量近,那么const修饰的就是p;如果*比const近,那么const修饰的就是*p
const int * contper1 = malloc(100); // * contper1 被const修饰;就是指向的数据不能改;
int const * contper2 = malloc(100); // * contper2 被const修饰;就是指向的数据不能改
int * const contper3 = malloc(100); // contper1 被const修饰;就是指针本身不能变;