今日学习任务
| 复习C语言知识点: 结构体 链表 内存管理 字节序 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 基本完成: 结构体的定义与使用 结构体所占字节数 结构体数组和链表的定义与两者之间的区别 内存管理,什么是虚拟内存 堆空间和栈空间的区别 共用体的使用 字节序;如何理解大小端
|
今日开发中出现的问题汇总 |
|
今日未解决问题
| 无 |
今日开发收获
| 1. 结构体使用 #include <stdio.h> #include <string.h>
struct student // 声明 不是定义 不需要分配空间 { char name[20]; //不能初始化 char sex; int age; int score; };
int main() { #if 0 // struct student就是一种数据类型 struct student s1 = {"jsetc", 'm',23,90};// 定义(结构体)变量并初始化 #endif struct student s1; struct student *s2; // 结构体指针 野指针
strcpy(s1.name,"jsetc"); s1.sex = 'm'; s1.age = 23; s1.score = 100; printf("name : %s,sex : %c, age :%d,sorce :%d\n", s1.name ,s1.sex ,s1.age,s1.score );
s2 = (struct student *)malloc(sizeof(struct student)*64); strcpy(s2->name ,"jsetc"); s2->sex = 'm'; s2->age = 23; s2->score = 100; printf("name: %s, sex: %c, age: %d, sorce: %d\n", s2->name ,s2->sex ,s2->age,s2->score ); while(1); return 0; } 2. // 结构体在内存一定是连续存储的 //1. 结构体总长度一定是最长成员的整数倍(double 除外) //2. 每个成员的偏移量一定是该成员长度的整数倍 //(偏移量:距离结构体开始位置的长度)
3.栈空间是操作系统管理的,由操作系统分配,由操作系统释放 堆空间是用户管理的,申请和释放都由用户完成
4.大端:高字节存放在低地址 低字节存放在搞地质 小端:高字节存放在高地址 低字节存放在低地址
|
自我评价 (是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等) |
|
苏嵌学习日志5
最新推荐文章于 2020-07-03 23:52:57 发布