自学内容网 自学内容网

[C语言]结构体

1.什么是结构体

结构是多种类型的数据的集合。。且每个结构成员都有名字,因此当使用特定的成员时需要指明结构体成员的名字。

2.结构体的声明

以学生的数据为例:

struct student      //student结构名
{
char name;      //name结构体成员名
int height;     //height结构体成员名
float weight;   //weight结构体成员名
char id[20]    //id结构体成员名
}part1,part2;       //part1,part2结构体变量名

student是结构体的名字称为结构名。

name,height,weight,id都是结构体成员它们可以是不同类型也可以是相同类型。

part1,part2都是定义的结构体变量名,它的类型为,''struct student'.

可以在结构体声明时定义结构体变量名,也可以像下方一样单独定义。

 struct student part3;

3.结构体成员的访问

 1.结构体成员和”.“运算符

#include <stdio.h>
struct student
{
char name[30];
int height;
float weight;
char id[20];
};
int main()
{
struct student part1 = { "王二",180,75.5,"20241011123456" };
printf("%s\n", part1.name);
printf("%d\n", part1.height);
printf("%f\n", part1.weight);
printf("%s\n", part1.id);
return 0;
}

运行结果 :

可以看到通过”part1.name“这样的方式就能访问到结构体中的name成员 。

2.结构体成员和”->“运算符

struct student
{
char name[30];
int height;
float weight;
char id[20];
};
void stu1(struct student* str)
{
printf("%s\n", str->name);
printf("%d\n", str->height);
printf("%f\n", str->weight);
printf("%s\n", str->id);
}
int main()
{
struct student part1 = { "王二",180,75.5,"20241011123456" };
stu1(&part1);
return 0;
}

运行结果:

 

可以看到用结构体指针通过”->“运算符也能访问到结构体成员。

 4.具有结构体成员的结构体

1.结构体自己调用自己

struct Node
{
int data;
struct Node* next;
};

可以看到结构体中的一个成员为指向它自身的指针,类型为struct Node*

2.结构体嵌套

struct stu1
{
char name[20];
int id;
};
struct stu2
{
char name[20];
int id;
struct stu1 s1;
};

 可以看到结构体stu2中有一个成员的类型是struct stur1 它的变量名是s1.

 


原文地址:https://blog.csdn.net/2303_77060768/article/details/142843904

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!