*p1是定义指针的变量,系统分配给了地址,*p1="abcd"是要赋予地址,而字符串ABCD是赋不进去的。或者你可以*p1=&。。。是可以的,这样同样是地址赋予地址
原因很简单=你用了malloc函数来分配地址空间给指针p1so自然是不能用初始化语句*p1="abcd";的只是malloc函数分配制定地址,malloc函数不允许直接赋值