注册 登录
编程论坛 C++教室

string数组的问题

wdalin 发布于 2006-12-14 20:58, 1451 次点击

#include <iostream>
#include <string>
using namespace std;

int main()
{
char a[]="wang";
cout<<a<<endl;

string b[]="wang"; //这里输出的为什么是个地址值呢?
cout<<b<<endl;

string c[]="wang"; // 这里的数组和上面的char型数组有什么区别呢?
cout<<*c<<endl;

system("PAUSE");
return 0;
}

4 回复
#2
soc012006-12-14 22:28
上面输出b是数组的第一个地址值,而*b则是指向数组的第一个元素。
#3
smartwind2006-12-16 12:18
string b[]="wang";
这句实际是定义了一个只含一个元素的数组
可以用*b或b[0]来访问该字符串
而用b的话就只是一个地址了
#4
caiqiufu2006-12-16 13:14
string b[]="wang"; string c[]="wang";
不能编译,error "cannot specify initializer for arrays"怎么要定义成string b[]={"wang"}; string c[]={"wang"};不过这样看起来就明白多了
#5
tancui2006-12-17 23:34

#include <iostream>
#include <string>
using namespace std;

int main()
{
char a[]="wang";
cout<<a<<endl;

string b="wang"; //这里输出的为什么是个地址值呢?
cout<<b<<endl;

string c="wang"; // 这里的数组和上面的char型数组有什么区别呢?
cout<<c<<endl;

system("PAUSE");
return 0;
}

1