根据我看视频的理解,MJ视频中说指针字符串不能修改,指的是指针所指向的存储空间中的值不能够修改,例如以下:
char *name1 ="asdasd";
*name1 = 'd';
printf("%s",name1);//并不能打印出来,也就是链接这个步骤出错。
char *name1 = "abc";
name1 = "abcd";
printf("%s",name1);
而你的这个,首先指针name1是指针,指向的是字符串abc的地址,而第二行name1="abcd",也就是说指针name1指向的是字符串abcd的地址,会将前面所指向的覆盖掉。
MJ视频中说的是指针所指向的存储空间内的值不能改变,你这个是地址,所以两个差别还是挺大的。
这是我个人的理解,不知道是否正确。
|