一个简单的问题,关于char *
const char* str5 = "abc";
const char* str6 = "abc";
cout << ( str5==str6 ) << endl; // 输出什么?
str5和str6并非数组而是字符指针,并不分配存储区,其后的“abc”以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等。
我不明白,难道str5和str6指向的是同一个静态数据区吗?
const char* str5 = "abc";
const char* str6 = "abc";
这两句就开辟同一块静态数据区.