C语言程序设计-结构体(定义、初始化、数组指针、测试)

本文详细介绍了C语言中的结构体,包括其基本概念、定义与初始化、结构体数组和结构体指针的使用,以及小试题供读者实践。
摘要由CSDN通过智能技术生成

👨‍ Biaoge ⏰于2024-03-10 00:05发布 👓阅读量:2117 🏷️文章类型:【 C语言程序设计 】

C语言程序设计——结构体详解

一、结构体的基本概念
结构体是C语言中一种重要的复合数据类型,它允许我们将多个不同类型的数据组合成一个整体。结构体中的每个成员可以有不同的数据类型,并且可以通过成员名来访问。

二、结构体的定义与初始化
示例代码:

#include <stdio.h>

// 定义结构体类型
struct Student {
char name[20];
int age;
float score;
};

int main() {
// 初始化结构体变量
struct Student stu1 = {"Alice", 20, 90.5};

// 访问结构体成员
printf("Name: %s ", stu1.name);
printf("Age: %d ", stu1.age);
printf("Score: %.1f ", stu1.score);

return 0;
}


代码解释:
struct Student 定义了一个名为Student的结构体类型,包含name、age和score三个成员。
在main函数中,使用结构体类型声明并初始化了一个结构体变量stu1。
通过点操作符.来访问结构体成员的值。


三、结构体数组与结构体指针
示例代码:

#include <stdio.h>

struct Student {
char name[20];
int age;
float score;
};

int main() {
// 定义结构体数组
struct Student students[3] = {
{"Bob", 21, 85.0},
{"Charlie", 22, 92.5},
{"David", 19, 88.0}
};

// 结构体指针
struct Student *p = students;

// 通过指针访问结构体成员
printf("Name: %s ", p-&gt;name);
printf("Age: %d ", p-&gt;age);
printf("Score: %.1f ", p-&gt;score);

// 遍历结构体数组
for (int i = 0; i &lt; 3; i++) {
printf("Student %d%s%d%.1f ", i + 1, students[i].name, students[i].age, students[i].score);
}

return 0;
}


代码解释:
定义了一个包含三个Student结构体的数组students。
声明了一个指向Student结构体的指针p,并将其初始化为students数组的首地址。
通过箭头操作符->来访问结构体指针指向的成员的值。
使用for循环遍历结构体数组,输出每个学生的信息。


四、小试题
1. 填空题
在C语言中,定义结构体类型的关键字是 _______。

2. 选择题
以下哪个选项不是结构体的成员访问方式?
A. 点操作符 .
B. 箭头操作符 ->
C. 数组下标 []
D. 结构体名 struct

3. 编程题
定义一个名为Book的结构体类型,包含title(书名)、author(作者)和pages(页数)三个成员。编写一个程序,定义并初始化一个Book结构体变量,然后输出该书的书名、作者和页数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值