1、非定义时对一个字符指针直接用字符串赋值时。指针指向字符串的首地址;即重新赋值//貌似什么时候对字符指针用字符赋值都是指向字符串首地址,都是重新赋值
2、定义指针只指明指针类型尚未分配地址(指向不确定)。当用字符串赋值时。计算机会根据字符串的长度申请对应的字节数
//定义一个指针不管你定义的是什么类型的指针都等于你计算机的位数(32位计算机的指针是4个字节,楼主可以用sizeof(char *p))来亲测下,定义时的类型说明貌似是用来说明指针说指向的地址存放的数据类型(其实我更怀疑是声明该地址内容的解释方式,因为我试过对一个地址里的内容用不同强制转换后输出,得到的结果却是不同的),所以说定义指针时指针自己已经有地址了,用字符串
给指针赋值只是将字符串首字符的地址存入指针里不存在申请内存的行为。
我也是新手,只是凭感觉说,算是抛砖引玉,等大神来吧