赞
踩
第一种语法
struct Student{
int sNo;
char name[10];
};
int main(){
struct Student stu;
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
}
第二种语法
struct Student{
int sNo;
char name[10];
}stu; //此处stu 是变量名
int main(){
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
}
第三种语法
struct {
int sNo;
char name[10];
}stu,stu1; //同时定义了2个结构体变量
int main(){
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
scanf("%d",&stu1.sNo);
scanf("%s",stu1.name);
printf("%d\n",stu1.sNo);
}
第四种语法
typedef struct Student{
int sNo;
char name[10];
}Stu;
int main(){
Stu stu;
scanf("%d",&stu.sNo);
scanf("%s",stu.name);
printf("%d\n",stu.sNo);
}
注意,结构体变量名和数组名不同,数组名在表达式中会被转换为数组指针,而结构体变量名不会,无论在任何表达式中它表示的都是整个集合本身,要想取得结构体变量的地址,必须在前面加&,所以给 pstu 赋值只能写作
//结构体
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 };
//结构体指针
struct stu *pstu = &stu1;
结构体变量获取结构体成员变量
struct Student student;
println(student.name);
结构体指针变量获取结构体的成员变量
struct Student *student;
println( (*student).name );
println( student->name );
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。