int main()
{
char aa[] = "abc";
char bb[] = "abc";
char *a = "ddddd";
char *b = "ddddd";
cout<<boolalpha<<(aa==bb)<<endl;
if (a==b)
cout<<"ture"<<endl;
else
cout<<"false"<<endl;
return 0;
}
输出:
aa和bb的地址不同,a和b是字符指针,并不分配存储区,其后的“dddd”以敞亮形式存于常量区,a和b是指向他们的地址的首地址。
本文通过一个简单的C++示例程序,介绍了如何比较字符串及字符指针,并解释了字符串存储位置的区别,即常量区与栈内存之间的差异。文中演示了尽管两个字符数组的内容相同,但它们位于不同的内存地址上;而字符指针则指向常量区域中的同一位置。
3783

被折叠的 条评论
为什么被折叠?



