结构体
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);
}