假设char* a;
char* b;
很多书籍上都直接*a=*b;
如果char* a 是通过a="dddd";这中形式来初始化的话,那么运行时候是会报错的。总的原因就在于char* a="dd"这中形式初始化的话,dd是作为一个常量字符串存在的。如果char a[]="dd";或者把一个字符串的数组开头赋值给a指针,那么是没有问题的。
C书籍上有这么一句话,char* a="dd";a是一个指针,其初值指向一个字符串常量,它可以被流改指向其他的地址,但是如果试图修改字符串的内容,结果是没有定义的。
这个和大家想象的不同吧呵呵。