学习日志 姓名: 刘易中 日期: 2018/07/13
今日学习任务 | 结构体、结构体和链表、内存管理、关键字union、enum、typedef等。 |
今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。)
| 结构体概念的介绍、结构体的定义,以及使用头文件中结构体的方法。结构体的声明、结构体变量、指针数组的定义及初始化。结构体的内存分配及长度的计算。c语言中的内存管理。共用体的声明及其用法。完成了学生信息管理系统的编写。 |
今日开发中遇到的问题汇总 | 结构体中的内存分配问题。
|
今日开发收获 | 1、结构体可以理解为一种新的数据类型。 2、声明(不分配空间) 、定义(一定要分配空间),结构体声明中不能初始化。 3、结构体长度计算规则: 1、结构体总长度一定是最长成员的整数倍(double除外,结果4的整数倍即可) 2、每个成员的偏移量一定是该成员长度数倍(所谓偏移量就是距离结构体开始位置的长度)。 4、结构体数组:顺序结构,连续的、链表:不连续,随机。 5、c语言里的内存是虚拟内存,4G虚拟内存默认内核态:用户态(包括:数据段也叫静态数据区(全局变量、static静态变量)、代码段(代码、常量)、栈空间(局部变量、形参)、堆空间(使用malloc申请内存、calloc)····)=1:3使用 6、堆空间和栈空间区别:栈空间是操作系统管理的,由操作系统分配并释放,堆空间是用户管理的,申请和释放都由用户完成7、指针里必须有地址才可以用strcpy赋值。 7、共用体(联合体),只为最长的成员分配空间,所有成员共享同一段空间。 8、共用体用处:判断大小端 字节序: 大端:高字节存放在低地址,低字节存放在高地址 小端:高字节存放在高地址,低字节存放在低地纸 |
自我评价 (是否规范完成指定任务,需要改进的地方,与他人合作等。) | 对基础知识还是不清楚,进度也很快不是很能跟得上。希望周末两天可以抓紧补习一下! |