[bo][un]csynyk[/un] 在 2008-9-8 14:23 的发言:[/bo]
to:斑竹
你前面都讲解的非常精彩,不过最后以句却没有考虑周到:
"...是在编译后一个存储了"1"这个字符串的内存的地址,char *p="1";和char str[]="1",*p=str;没有区别。"
其实他们的区别很大:
char *p=" ...
1.char str[]="1",*p=str;中,第2个表达式的str是字符数组的首地址,改为p=str,然后打印时使用printf("%s",p);
2.不改变使用printf("%s",*p);结果耐人寻味啊.