新世纪儿童医院挂号:指针变量

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 06:37:15
struct family
{
char *husband;
char *wife;
};
struct family Andersen;
Andersen.husband="Jonh Andersen"
Andersen.wife="Mary.Andersen"

我很奇怪husband和wife不是定位指针变量了吗
那他们应该是存放地址的
怎么还能赋值为字符变量?而且如果:

struct family *ptr;
ptr=&Andersen;
cout<<"husband is "<<ptr->husband"\n";
就会得出
husband is Jonh.Andersen

"John Andersen"这个字符串在C中是用它第一个元素的地址(首地址)表示的。 所以不是把"John Andersen"的内容赋值给了char * husband, 而是把的首地址赋值给了husband

输出时从这个首地址开始输出字符串, 直到字符串结束, 即遇到'\0' 时输出结束