- 可以认为数组名是一个地址常量,不能修改,不能作为左值进行赋值。
因此不能将一个数组赋给另一个数组:
int a[10] = {1};
int b[10];
b = a;//错误
- 在C++中向cout传递一个非字符地址,cout将输出地址;但是如果传递的是字符地址,cout将输出该地址处的字符串(遇到‘\0’停止)。
char str1[] = "hello";
char str2[] = "hello";
string str3 = "hello";
string str4 = "hello";
if (str1 == str2) //不相等,在这里是对地址常量的比较
cout << 1 << endl;
else
cout << 0 << endl;
if (str3 == str4) //相等,这里是string类对象的比较,比较的是对象成员字符串
cout << 1 << endl;
else
cout << 0 << endl;