首页 > 编程语言 >2023-2024-1 20231421 《计算机程序与设计》第十三周学习总结

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

时间:2023-12-24 22:23:03浏览次数:45  
标签:20 成员 数据类型 2024 2023 对齐 20231421 数据 结构

作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13

作业目标:自学《c语言程序设计》第十二章

作业正文:

教材学习内容总结

《c语言程序设计》

结构体(struct):
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合1。
结构体可以存储不同类型的数据,如 int、float、char 等3。
结构体的声明使用 struct 关键字,例如:

struct Info {
    unsigned long identifier; //学号,用无符号长整数表示
    char name[20]; //名字,用字符数组表示
    unsigned int year; //入学年份,用无符号整数表示
    unsigned int years; //学制,用无符号整数表示
};

结构体成员的访问采用点号运算符.2。例如,info.name 就是引用 info 结构体的 name 成员。

数据库结构:
在C语言中,由于无法直接操作数据库,所以在项目中通过对结构体内部变量的操作将大量的数据存储在内存中,以完成对数据的存储和操作1。
结构体可以用来模拟数据库中的记录。例如,一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形)等等。这些数据类型都不同但是他们又是表示一个整体,要存在联系,那么我们就需要一个新的数据类型。——结构体,它就将不同类型的数据存放在一起,作为一个整体进行处理1。

学习过程的问题

理解问题是第一个:结构体是一种复合数据类型,需要理解如何将多种不同类型的数据组合在一起。
C语言中,结构体的大小并不是其所有成员大小之和,而是考虑到了内存对齐。这会导致在计算结构体大小时出现错误。

《C语言程序设计》第十二章

结构体是一种数据类型,它可以由多个不同类型的数据组成。结构体的定义方式与基础数据类型类似,但是需要在定义时指定结构体中包含的数据类型和名称。结构体可以用于封装多个数据,方便进行操作。在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言无法操作数据库,所以在项目中通过对结构体内部变量的操作将大量的数据存储在内存中,以完成对数据的存储和操作。在实际问题中有时候我们需要几种数据类型一起来修饰某个变量。例如一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形)等等。这些数据类型都不同但是他们又是表示一个整体,要存在联系,那么我们就需要一个新的数据类型——结构体,它就将不同类型的数据存放在一起,作为一个整体进行处理。结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。结构体的大小不是结构体元素单纯相加就行的,因为我们现在主流的计算机使用的都是32Bit字长的CPU,对这类型的CPU取4个字节的数要比取一个字节要高效,也更方便。所以在结构体中每个成员的首地址都是4的整数倍的话,取数据元素时就会相对更高效,这就是内存对齐的由来。每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragmapack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。规则1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragmapack指定的数值和这个数据成员自身长度中,比较小的那个进行。2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragmapack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。3、结合1、2可推断:当#pragmapack的n值等于或超过所有数据成员长度的时候,这个n值的大小将不产生任何效果。

 三,基于AI的学习

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

学习进度条

  代码行数 博客数 学习时间
目标 5000 30 400
第一周 200/200 2/2 20/20
第二周 300/300 4/4 28/28
第三周 500/500 6/6 30/30
第四周 500500 8/8 30/30
第五周 600/600 9/9 35/35
第六周 800/800 10/10 40/40
第七周 1000/1000 12/12 45/45
第八周 1200/1200 14/14 48/48
第九周 1400/1400 15/15 52/52
第十周 1600/1600 17/17 56/56
第十一周 1800/1800 18/18 60/60
第十二周 2000/2000 19/19 64/64
第十三周 2200/2200 20/20 68/68

标签:20,成员,数据类型,2024,2023,对齐,20231421,数据,结构
From: https://www.cnblogs.com/Zhugedaoyi/p/17924963.html

相关文章

  • 2023-2024-1 20231425《计算机基础与程序设计》第十三周学习总结
    2023-2024-120231425《计算机基础与程序设计》第十三周学习总结2023-2024-120231425《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1计算机基础与程序设计第十周......
  • 2023-2024-1 学号20231315第十三周学习总结
    学期:2023-2024-1学号:20231315《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1《计算机基础与程序设计》这个作业的目标学习《C语言程序设计》第12章作业正文http......
  • 2023-2024-1 20231427 《计算机基础与程序设计》第十三周学习总结
    学期(如2023-2024-1)学号(如:20231300)《计算机基础与程序设计》第X周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/()这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13()这个作业的目标<加入......
  • 2023-2024-1 20231326《计算机基础与程序设计》第十三周学习总结
    2023-2024-120231326《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第X周作业这个作业的目标《C语言程序设计》第十二章作业正文https://www.cn......
  • 2023-2024-1 20231418 《计算机基础与程序设计》第13周学习总结
    2023-2024-120231418《计算机基础与程序设计》第13周学习总结作业信息这个作业属于哪个课程<2023-2024-1-计算机基础与程序设计>这个作业要求在哪里<2023-2024-1计算机基础与程序设计第十三周作业>这个作业的目标<《C语言程序设计》第12章,上周测试题>作业正文......
  • CSP-S 2023消消乐 字符串哈希做法and链表优化dp做法
    做完这题感觉整个人都升华了...打算说一下两种做法,字符串哈希和dp均可。dp则需要维护一个前向星去检索出第一个符合要求的位置。题解明天补,先写高数了。#include<bits/stdc++.h>#defineintlonglong#defineullunsignedlonglong#definerep(i,a,b)for(inti=(a);i<......
  • # 2023-2024-1 20231322 《计算机基础与程序设计》第十三周学习总结
    作业信息|2022-2023-1-计算机基础与程序设计)||--|--||2022-2023-1计算机基础与程序设计第十三周作业||这个作业的目标|总结本周学习成果及疑问||作业正文|()|教材学习内容总结《C语言程序设计》第12章,结构体,共用体,数据结构基于AI的学习学习进度条代码行数(新增/累......
  • 2023-2024-1 20231407陈原计算机科学技术与c语言程序设计第十三周总结
    这个作业属于哪计算机科学技术与c语言程序设计作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13作业目标c语言程序设计第十二章作业正文 https://www.cnblogs.com/CCCY12345/p/17924825.html结构体是一种用户自定义的数据类型,可以包含不同数据......
  • 2023-2024-1 20231307《计算机基础与程序设计》第十三周学习总结
    作业信息所属课程2023-2024-1-计算机基础与程序设计作业要求2023-2024-1计算机基础与程序设计第十三周作业作业目标自学教材《C语言程序设计》第12章并完成云班课测试作业正文https://www.cnblogs.com/lzt-/p/17924890.html教材学习内容总结结构体数据类型,......
  • 2023-12-24
    packagecom.example.backendmanage.controller;importcn.hutool.core.util.IdUtil;importcn.hutool.core.util.RandomUtil;importcn.hutool.core.util.StrUtil;importcn.hutool.extra.mail.MailUtil;importcom.example.backendmanage.common.AjaxResult;importc......