[编程] C语言的结构体
结构体
struct 结构体名{} 变量名;
结构体变量:
struct person{
char *name;
int age;
float score;
} student;
成员的获取和赋值
//Members of the acquisition and assignment
student.name="taoshihan";
student.age=30;
student.score=100;
printf("name=%s \n",student.name);
C语言结构体数组
struct stu{
char *name;
int age;
float score;
} classes[5];
遍历结构体数组
struct people{
char *name;
int age;
float score;
} d[]={
{"taoshihan",20,100},
{"lisi",30,90}
};
int len=sizeof(d)/sizeof(d[0]);
printf("d length=%d \n",len);
for(int i=0;i<len;i++){
printf("loop...%s,%d,%.1f \n",d[i].name,d[i].age,d[i].score);
}
C语言结构体和指针
struct 结构体名 *变量名;
struct person1{
char *name;
int age;
float score;
} a={"taoshihan",20,100},*b=&a;
struct person1 *c=&a;
获取结构体成员
printf("b.name=%s \n",(*b).name);
printf("c.name=%s \n",c->name);
完整代码:
#include <stdio.h> int main(){ printf("hello world"); //Structure variables struct person{ char *name; int age; float score; } student; //Members of the acquisition and assignment student.name="taoshihan"; student.age=30; student.score=100; printf("name=%s \n",student.name); //c struct array struct stu{ char *name; int age; float score; } classes[5]; struct stu1{ char *name; int age; float score; } classes1[2]={ {"taoshihan",20,100.00}, {"lisi",20,90} }; struct stu2{ char *name; int age; float score; } classes3[]={ {"taoshihan",20,100} }; printf("%s \n",classes1[1].name); //Traverse the array of structures struct people{ "chaper5.c" 71L, 1199C 1,1 Top //Traverse the array of structures struct people{ char *name; int age; float score; } d[]={ {"taoshihan",20,100}, {"lisi",30,90} }; int len=sizeof(d)/sizeof(d[0]); printf("d length=%d \n",len); for(int i=0;i<len;i++){ printf("loop...%s,%d,%.1f \n",d[i].name,d[i].age,d[i].score); } //C language structure and pointer struct person1{ char *name; int age; float score; } a={"taoshihan",20,100},*b=&a; struct person1 *c=&a; //Get the structure member printf("b.name=%s \n",(*b).name); printf("c.name=%s \n",c->name); }