C语言教程:结构体数组与指针解析

需积分: 0 1 下载量 15 浏览量 更新于2024-07-14 收藏 6.41MB PPT 举报
"指向结构体数组的指针-c语言基础课件" 在C语言中,结构体(struct)是一种复合数据类型,它允许我们将多个不同类型的变量组合在一起形成一个整体。结构体数组是包含多个结构体的数组,而指向结构体数组的指针则可以用来遍历和访问这些结构体中的数据。本课程主要讲解了如何使用指针来操作结构体数组,特别是如何通过指针来访问和修改结构体成员。 在描述中提到了一个例子,定义了一个名为`student`的结构体,包含四个成员:`num`(整型),`name`(字符数组),`sex`(字符)和`age`(整型)。接着定义了一个包含三个`student`结构体的数组`stu`,并初始化了每个结构体的成员。 在`main`函数中,声明了一个指向`struct student`类型的指针`p`。通过`for`循环,将`p`初始化为`stu`数组的首地址,然后在每次循环中,`p`自增1,指向下一个结构体元素。在循环内部,使用`printf`函数打印指针`p`所指向的结构体成员:`num`、`name`、`sex`和`age`。 需要注意的是,指针`p`不能直接用于访问结构体内的成员,如`p=str[1].name`是错误的,因为它尝试将一个字符数组的地址赋值给结构体指针。正确的方法是使用强制类型转换,如`p=(struct student *)stu[1].name`,这样`p`就指向了结构体数组的第二个元素的`name`成员。 示例11.4展示了如何通过指针`p`访问结构体数组的不同元素。`stu[0]`、`stu[1]`和`stu[2]`分别代表数组中的第一个、第二个和第三个元素。`p+1`表示指针`p`向后移动一个结构体大小的位置,即指向`stu[1]`。 课程还涵盖了C语言的基础知识,包括C语言的发展历史、特点,以及从C语言概述到函数、循环控制、数组、预处理命令、指针、结构体与共用体、位运算和文件等各个核心概念。学习这些内容可以帮助理解并熟练掌握C语言编程,为编写系统软件和应用软件打下坚实基础。