关于字符串地址的问题
int _tmain(int argc, _TCHAR* argv[])
{
char* str3 = "hello world";
char* str4 = "hello world";
if(str3 == str4)
printf("str3 and str4 are same.\n");
else
printf("str3 and str4 are not same.\n");
return 0;
}
str3和str4是两个指针,我们无需为它们分配内存以存储字符串的内容,而只需要把它们指向"hello world“在内存中的地址就可以了。由于"hello world”是常量字符串,它在内存中只有一个拷贝,因此str3和str4指向的是同一个地址。因此比较str3和str4的值,会是相同的。
以上是在某个博客当中看到的有些疑惑怎么证明他们指向的是同一个地址呢?
cout<<&str1<<"\n"<<&str2<<endl; 输出的是两个不一样的地址值。
求教!!