c++ 中 string 字符串的含义
有如下代码:
int main()
{
char *s;
s = "hello";
cout << *s << endl;
cout << s << endl;
return 0;
}
//OUTPUT:
//h
//hello
首先定义了一个指针,然后给指针赋值为一个字符串。看起来以上写法有错误,s 指针是一个地址,为什么给它赋值一个字符串?
因为在 c++ 中字符串类似于我们提到的数组,使用数组名就表示第一个数组元素的地址。例如:
int main()
{
int arr[] = {1, 3};
int *p = arr;
cout << *p << endl;
cout << *(p+1) << endl;
return 0;
}
//OUTPUT:
//1
//3
同样在字符串中,s = "hello"
表示将首字母 h
的地址赋给指针。
标签:无