【初学者入门C语言】之结构体(十一)

发布于:2022-10-29 ⋅ 阅读:(531) ⋅ 点赞:(0)

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主

💬 刷题网站:一款立志于C语言的题库网站蓝桥杯ACM训练系统 - C语言网 (dotcpp.com) 

 特别标注:该博主将长期更新c语言内容,初学c语言的友友们,订阅我的《初学者入门C语言》专栏初学者入门C语言_天寒雨落的博客-CSDN博客,关注博主不迷路!

目录

前言

结构体

结构体的定义

声明结构体变量

初始化结构变量

访问结构体成员

结构体变量赋值

结构体嵌套


前言

数组只能储存相同类型的元素,而当我们储存有关系的不同类型的元素就需要用到结构体了。结构体和结构体变量的关系类似与类型与普通变量的关系。

 

结构体

结构体的定义

一般格式

struct 结构名称{
    成员变量列表;
};

特别注意:花括号后的分号一定不要忘记写了,结构的定义是一个完整的语句,结构的定义放在主函数的上面即头文件中

举例

struct person{

        char name[5];

        int age;

}

上面定义了一个结构person,person可以声明person类型的结构体变量,每个person型结构体变量都包括name、age这两个数据成员。

声明结构体变量

在定义的时候声明:

struct person{

        char name[5];

        int age;

}p1,p2;

在后面单独声明:

struct person p1;

使用typedef struct:

typedef struct person{

        char name[5];

        int age;

};
person p1;

使用typedef后,后面声明是省略了struct

初始化结构变量

在声明结构变量的同时,进行变量的初始化:

struct person {

	char name[10];

	int age;

} p1 = {"zhangsan", 10};

在后面进行变量的初始化:

struct person p1={"zhangsan",10};

访问结构体成员

声明一个结构体变量后,可以使用成员操作符(.)来访问各个成员

举例

输出张三的年龄

代码:

#include "stdio.h"

struct person {

	char name[10];

	int age;
} p1 = {"zhangsan", 10};

int main() {
	printf("%d", p1.age);
    return 0;
}

执行结果:

结构体变量赋值

 将结构体变量p1的数据赋给结构体变量p2

代码:

#include "stdio.h"

struct person {
	char name[10];
	int age;


} p1 = {"zhangsan", 10};

int main() {
	struct person p2;
	p2 = p1;
	printf("%s\n%d", p2.name, p2.age);
    return 0;
}

执行结果

 

结构体嵌套

某个结构体里的数据成员中又是一个结构体变量

举例

定义一个student结构体里面嵌套一个score结构体

代码:

#include "stdio.h"

struct student {
	char name[10];
	int age;
	//结构体scorestruct的定义
	struct scorestruct {
		int math;
		int English;
	} score;//声明结构体变量score
};

int main() {
	struct student s1 = {"zhangsan", 18, {98, 84}};
	printf("姓名:%s\n年龄:%d\n英语成绩:%d\n数学成绩:%d", s1.name, s1.age, s1.score.English, s1.score.math);
	return 0;
}

在结构体student定义结构体scorestruct同时声明结构体变量score,在初始值的时候{}里面放score里面的数据,再将其放进student的{},访问嵌套成员结构体的变量的为:结构体名1.结构体名2.成员变量,访问结构体的成员依旧是:结构体.成员变量

执行结果:

各位C语言的初学者有问题随时都可以问我,随时为您解惑!!!

👍+✏️+⭐️是对博主最大的鼓励与支持!!!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到