2023-2024-1 20231317《计算机基础与程序设计》第十三周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(如2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2023-2024-1计算机基础与程序设计第一周作业)
这个作业的目标 <《C语言第12章》>
作业正文 https://www.cnblogs.com/TerMo/p/17924086.html 本博客链接

教材学习内容总结

  • 结构体数据类型;
  • 结构体变量、结构体数组、结构体指针的定义和初始化;
  • 结构体成员的引用,成员选择运算符,只想运算符;
  • 向函数传递结构体变量、结构体数组、结构体指针;

1.普通的,struct 结构体名
{
数据类型 成员1的名字;
....... ........;
};

2.(1)结构体变量:
typedef struct 结构体名
{
............;
}大写的结构体名;

(2)一般来说,我们使用结构体编程都比较复杂,很少直接给结构体变量初始化,就简单的说不会直接就赋值;

(3)结构体成员的引用:
结构体变量名.成员名;

(4)结构体数组的定义:
结构体变量名 数组(例如 struct student students[30]);

(5)指向结构体变量的指针:
结构体名 *指针名(例如 STUDENT * pt);

(6)指向结构体成员的指针变量名:
指向结构体成员的指针变量名->成员名(例如 pt->studentID);

(7)指向结构体数组的指针:
结构体名 指针=数组地址(例如 STUDENT *pt = stu);

  1. 向函数传递结构体:
    (1)结构体单个成员向函数传递;
    (2)结构体指针做变量做函数形参;
    (3)结构体地址做函数形参;



教材学习中的问题和解决过程

  • 问题1:结构体指向运算符的两个组成符号-和>为什么不能插入空格?
  • 问题1解决方案:结构体指向运算符的两个组成符号-和>不能插入空格,是因为它们是一个整体,表示结构体成员的指向关系。如果插入空格,会改变其含义,导致编译错误。因此,为了保持语法正确性,应该遵循不插入空格的规范。
  • 问题2:为什么不能用指向运算符访问结构体变量的成员?
  • 问题2解决方案:指向运算符是用于访问结构体指针所指向的结构体变量的成员的,而不是用于访问结构体变量的成员的。结构体变量的成员是通过点运算符(.)来访问的,这是因为结构体变量是一个实际的对象,而结构体指针只是一个指向该对象的地址,需要通过解引用运算符(*)来访问其所指向的对象。因此,如果试图使用指向运算符来访问结构体变量的成员,会导致编译错误。

基于AI的学习

  • me:怎么简单地去理解使用结构体这个数据类型?
  • GPT:使用结构体这个数据类型可以简单地理解为将多个不同类型的变量组合在一起,形成一个新的数据类型。这样可以更方便地对相关的数据进行组织和管理。

举个例子,如果我们要表示一个学生的信息,包括姓名、年龄和成绩,可以使用结构体来定义一个新的数据类型,其中包含这三个变量。这样,我们就可以将学生的信息作为一个整体来处理,而不需要分别处理姓名、年龄和成绩这三个变量。

另外,结构体还可以用来定义更复杂的数据结构,比如链表、树等。通过结构体,我们可以将不同类型的数据组合在一起,形成更复杂的数据结构,从而更方便地对数据进行操作和管理。

总的来说,使用结构体这个数据类型可以简单地理解为将多个相关的变量组合在一起,形成一个新的数据类型,从而更方便地对数据进行组织和管理。

posted @ 2023-12-24 17:17  20231317莫善燎  阅读(6)  评论(0编辑  收藏  举报