请教一个关于字符数组指针的基本问题
有本书上说:
char *str1="abc";
char *str2="abc";
if(str1==str2)
cout<<"Equal"<<endl;
结果是判断条件不成立,理由是两次在常量区分类的是两个不同的内存空间,所以地址不同
但是这段代码在VS2005里运行有结果:Equal
个人认为str1,str2表示他们指向的字符串,那么str1==str2应该是判断他们指向的字符串是否相等,
所以这里会输出Equal,但是&str1==&str2就不成立。
这里我好不习惯,因为str1,str2是指针,按常理,指针本身的值就是地址,
那么str1==str2就是表示他们指向的地址是否一样……
是因为指向字符串的指针有特殊性吗?
初学者,很抱歉麻烦大家,谢谢