C语言
草帽boy7
/ynmianyan/10927062
展开
-
通过 汇编了解C语言 指针 悬垂指针概念
栈 栈是 高地址向低地址 递增的结构,拥有后入先出的特点。 在程序运行时,程序段代码是不可变的,所以 需要借助栈来动态的 取出存放计算结果. 每个程序 在运行时 都需要一个栈来协助存储运行时的动态数据,C语言 对每次 调用(Call) 一个方法时,都会用 ebp 保存调用者的栈 位置 esp ,这样每次 方法调用完毕了 将 esp 设置为上一个栈所在位置 就可以 恢复栈了 通俗的说 就像存档点一样...原创 2020-03-31 15:19:17 · 243 阅读 · 0 评论 -
Redis 源码 分析 链表(二)
由于C语言没有链表结构 所以Redis 也有自定义的链表。 /* * 双端链表节点 */ typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value; } listNode; /*...原创 2019-11-30 19:12:18 · 82 阅读 · 0 评论 -
Redis 源码 分析 SDS(一)
SDS redis用于存储 字符串的实现类型,它替代了C里面的字符串类型。 struct sdsdr{ //已用字节长度 int len; //剩余未使用空间 int free; //字节数组 char buf[]; } 当你执行 SET key rvalue 存储键值对时用的就是sds类型。 其实也 很容易理解 就像Java里实现的String 一样 他有length 和 capacity...原创 2019-11-30 14:58:05 · 182 阅读 · 1 评论