C语言的本质
1. ARM架构与汇编简明教程
- 硬件结构
- ARM汇编
2. 变量是什么
- 变量变量,能变,就能读能写,必定在内存里
- 全局变量、局部静态变量:如何分配空间、如何赋初始值
- 局部变量:如何分配空间,如何赋初始值
3. 栈、堆是什么
堆:就是一块空闲内存,可以使用malloc/free函数来管理它
char *str;
str = malloc(100);
strcpy(str, "weidongshan");
free(str);
4. 函数是什么
- 就是一系列的指令:一系列机器码
- 栈是什么
- 怎么设置栈
- 函数怎么传递参数
- 为什么子函数无法修改实参
- 怎么让子函数修改调用者的变量?
- 调用函数:让CPU的PC寄存器等于"一系列机器码"的首地址,就是函数地址
5. 指针是什么
- 指针变量,也是一个变量,存放的是"首地址"
- 使用指针的本质:跟变量的访问做对比
- 函数指针的本质
6. 结构体是什么
- 声明结构体类型:会占用内存吗
- 结构体里的成员
- 里面的成员如何排列
- 对齐:为何需要对齐,需要我们指定对齐吗?
- 结构体里的位成员
- union