求解,结构体类型,实在想不明白
struct Student //声明结构体类型Student{
int num;
char name;
char sex;
int age;
float score;
char addr;
}student1,student2; //定义两个结构体类型Student的变量student1,student2
前面不是声明了结构体的名称了吗?为什么后面加上student1,student2,这是起什么作用啊? 一般引用结构体里面的变量不这样的吗? Student.num或Student.sex 这样引用吗?求解???????student1.num这样和Student.num 是一样吗? 1.前面是定義結構體——它叫什麽名字、包含哪些成員...
2.sthdent1和student2是結構體類型Student的兩個變量
3.不能Student.num那樣引用
4.不一樣,student1.num才是有效引用 本帖最后由 用双手成就梦想 于 2013-11-2 00:33 编辑
struct Student //struct Student 是一个自定义的结构体类型它包含以下成员
{
int num;
char name;
char sex;
int age;
float score;
char addr;
}student1,student2;//是该结构体的变量,student1.num和.num 是不一样的因为 Student不是该结构体的变量
{:1_1:}为什么不明白呢?其实个人觉得这里有一点点面向对象的思想,student只是一个模版,不能直接使用,而student1,student2,才是两个有实在意义的结构体变量,例如:char ch1,ch2 这种数据类型哪位什么不能sizeof(char)呢?只能sizeof(ch1)这就是不能student的原因 望LZ理解 struct Student //声明结构体类型Student
{
int num;
char name;
char sex;
int age;
float score;
char addr;
};
struct Student student1,student2;这个代码简写为:
struct Student //声明结构体类型Student
{
int num;
char name;
char sex;
int age;
float score;
char addr;
}student1,student2;
Pathfinder 发表于 2013-11-2 00:12 static/image/common/back.gif
1.前面是定義結構體——它叫什麽名字、包含哪些成員...
2.sthdent1和student2是結構體類型Student的兩個變 ...
那么说,sthdet1.num 和sthdet2.num 是一样的? 你把struct Student 整体理解成一个如char,int之类的变量就好理解了 看来LZ的确是没搞清楚 你知道int i;是吧
首先
struct Student //声明结构体类型Student
{
int num;
char name;
char sex;
int age;
float score;
char addr;
};就像你说的声明结构体类型Student 就像VC帮我们定义了int一样
后面跟student1,student2就相当于定义好这个结构体在写student student1,student2;就是定义了student类型的两个变量
还有不能写Student.num或Student.sex 应为student不是变量名 student1才是变量名才可以
牡丹花下死做鬼 发表于 2013-11-3 07:34 static/image/common/back.gif
看来LZ的确是没搞清楚 你知道int i;是吧
首先就像你说的声明结构体类型Student 就像VC帮我们定义了int一样 ...
谢谢啦!我编程序试了下。student1.num 和student2.num两个是不同的变量
页:
[1]