定义和使用结构体变量
1,定义结构体变量
1)先声明结构体类型,再定义该类型变量
struct Student stu1,stu2;
2)声明类型的同时定义变量
一般形式:struct 结构体名{成员表列}变量名表列;
3)不指定类型名直接定义结构体类型变量
一般形式:struct{成员表列}变量名表列;
注意:编译时对类型不分配空间;结构体类型中的成员名与程序中的变量名可以相同,意义不同
2,结构体变量的初始化及引用
方式1:
struct Student
{
int count;
char name[20];
}a[3]={0,“wang”,0,“zihang”,0,“li”};
方式2:
struct Student
{
int count;
char name[20];
};
void main(){
a[3]={0,“wang”,0,“zihang”,0,“li”};
}
结构体指针
等价关系:p[i]<>*(p+i)<>stu[i]<==>*(stu+i)
&p[i]等价p+i等价stu+i等价&stu[i]
指向运算符:->左侧是结构体指针,右侧是结构体变量
注意:输入值时是输入的已定义好的结构体中的成员的值,而不是输入定义的变量的值
例如:struct Student
{int num;
char name[20];
float score;
}s1;
void main()
{struct Student *p1=&s1;
scanf("%d%s%f",&(s1.num),&(s1.name),&(s1.score));
scanf("%d%s%f",&((*p1).num),&((*p1).name),&((*p1).score));
scanf("%d%s%f",&(p1->num),&(p1->name),&(p1->score));
printf("%d%s%f",((*p1).num,(*p1).name,(*p1).score);
printf("%d%s%f",p1->num,p1->name,p1->score);
}
数据结构 3.27笔记
最新推荐文章于 2024-03-27 14:48:01 发布