问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C语言结构体基本使用教程

创作时间:
作者:
@小白创作中心

C语言结构体基本使用教程

引用
CSDN
1.
https://blog.csdn.net/m0_73984495/article/details/145798323

在C语言中,结构体是一种非常重要的数据类型,它允许将不同类型的数据组合在一起,便于管理和操作。本文将详细介绍结构体的基本使用方法,包括定义、初始化、访问成员以及结构体数组等知识点。

一、引言

如果想通过C语言来表示一个人的名字、年龄、性别、成绩,我们在学完数组之后也是可以完成这个,但是会十分的麻烦,因此我们引入了结构体。

二、如何定义结构体?

结构体是一种用户自定义的数据类型,它允许将不同类型的数据组合在一起。通过结构体,我们可以将
相关的数据组合成一个整体,便于管理和操作。例如,可以将学生的姓名、年龄、性别等信息封装在一
个结构体中。

在C语言中,使用 struct 关键字定义结构体。结构体的定义语法如下:

struct 结构体名 {
    数据类型 成员1;
    数据类型 成员2;
    ...
    数据类型 成员n;
};

例如,定义一个学生的结构体:

struct Student {
    char name[20]; // 姓名
    int age; // 年龄
    char gender; // 性别('M' 表示男性,'F' 表示女性)
};

三、初始化结构体

定义结构体后,可以通过结构体名来声明变量。初始化方式有多种:

方式1:逐个成员初始化。

struct Student student1;
strcpy(student1.name, "Alice"); // 使用 strcpy 函数复制字符串
student1.age = 20;
student1.gender = 'F';

方式2:在声明时直接初始化。

struct Student student2 = {"Bob", 22, 'M'};

方式3:使用指定初始化器(适用于C99及以上标准)。

struct Student student3 = {
    .name = "Charlie",
    .age = 21,
    .gender = 'M'
};

四、访问结构体成员

使用 结构体变量名.成员名 的语法访问结构体成员。例如:

printf("Name: %s\n", student2.name);
printf("Age: %d\n", student2.age);
printf("Gender: %c\n", student2.gender);

五、结构体数组

struct Student students[3];

strcpy(students[0].name, "zhangsan");  // a. : a的
students[0].age = 18;
students[0].sex = 'M';
students[0].score = 99;

此时,可以把struct student看作是一种数据类型,数组中的每个变量都有此属性。

六、地址的分配

需要注意的是,他们并不是紧密排列的,由于char类型是8位的,即1个byte,为了整齐会将剩下的三个字节的位置空出。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号