static char *p是全局静态变量,char *p是临时变量,static定义的你在其他地方可以调用,而且是通用的,也就是说你在一个地方改了它的值,其他地方也就跟着改了,而char *p只是一个简单的变量,一般在哪定义就在哪用,出这个函数之外就没有了,在其他地方可以继续定义char *p,各不影响。