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

关于结构体一问题。谢谢

newCpp 发布于 2009-08-27 08:34, 352 次点击
#include <iostream>
using namespace std;
struct Date                      //声明结构体类型Date
{
int month;
int day;
int year;
};
struct Student                  //声明结构体类型Student
{int num;
char name[20];
char sex;
Date birthday;                //声明birthday为Date类型的成员
float score;
}
student1,student2={10002,"Wang Li",'f',5,23,1982,100};  
//定义Student 类型的变量student1,student2,并对student2初始化
int main()
{ student1=student2;                //将student2各成员的值赋予student1的相应成员
cout<<student1.num<<endl;         //输出student1中的num成员的值
cout<<student1.name<<endl;        //输出student1中的name成员的值
cout<<student1.sex<<endl;         //输出student1中的sex成员的值
cout<<student1.birthday.month<<'/'<<student1.birthday.day<<'/'
<<student1.birthday.year<<endl;  //输出student1中的birthday各成员的值
cout<<student1.score<<endl;
return 0;
}
这句代码里面的
这句为什么不需要前缀就能够说他是Student类型的
而我加了一个Student则报错了
这是为什么
只有本站会员才能查看附件,请 登录

很疑惑。谁能告诉我
谢谢
为什么这里需要添加前缀就能够识别是哪种数据类型
3 回复
#2
newCpp2009-08-27 08:39
我晕,谁能帮忙啊

[ 本帖最后由 newCpp 于 2009-8-27 08:42 编辑 ]
#3
龙心2009-08-27 09:40
你的第二个结构体后面没加";",加一下试一试
#4
pangding2009-08-27 11:10
回复 楼主 newCpp
不用添加前缀是因为它是跟着定义的。
相当于是这样:
struct student
{
    ...
} student1, student2;
有这种语法,允许在定义一个类型的同时声明一些实例。
1