会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Qing-Huan
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2023年4月14日
虚函数浅析
摘要: 0. 原理简述 父类中如果存在虚函数,类中会隐含一个虚函数指针,指向一个虚函数表,表中存储了父类的所有虚函数入口地址。子类继承父类,会复制一份虚指针和虚表。此时如果子类重写了父类的虚函数,会将重写的虚函数入口地址更新到虚表中。若父类指针指向了子类,并且调用虚函数,会在我们更新的虚表里找虚函数入口地址
阅读全文
posted @ 2023-04-14 21:42 Qing-Huan
阅读(91)
评论(0)
推荐(0)
2023年3月22日
论单向链表有序插入方案
摘要: 0. 思考 单向链表有序插入,插入点分为这样几个地方: 当前链表为空,被插入节点是第一个节点 被插入节点作为头结点 被插入节点在中间 被插入节点在尾部 那么按照这样的步骤一步步的去实现,需要两个指针,后指针作为比较节点,前指针仅是为了记录位置,便于链表节点在中、尾两处插入。 1. 单指针记录遍历 如
阅读全文
posted @ 2023-03-22 21:35 Qing-Huan
阅读(59)
评论(0)
推荐(0)
2023年3月19日
"全类型" 排序(选择、冒泡) 回调函数
摘要: 直接上代码 若代码有可优化或某处不合理,欢迎指正,不胜感激。 #include <stdio.h> #include <stdlib.h> #include <string.h> int compare_double(void* dst_addr, void* src_addr) { return
阅读全文
posted @ 2023-03-19 09:35 Qing-Huan
阅读(24)
评论(0)
推荐(0)
循环语句区别(for while do...while)
摘要: 以下观点仅代表个人想法,不是标准 C语言中有三种循环控制语句(goto不作考虑),那么这三个语句除了语法不同外,是否还有其他区别呢? 像if语句和switch...case语句之间,除了语法不同外,switch...case对特殊的case值进行了跳转表优化,以空间换时间。 对于较为“古老”的机器,
阅读全文
posted @ 2023-03-19 09:22 Qing-Huan
阅读(74)
评论(0)
推荐(0)
逻辑运算符短路特性
摘要: && 短路特性 遇到假即为假,不会判断下一组表达式 || 短路特性 遇到真即为真,不会判断下一组表达式
阅读全文
posted @ 2023-03-19 09:03 Qing-Huan
阅读(73)
评论(0)
推荐(0)
二维数组冒泡排序
摘要: 0. 本文结构概述 二维数组在内存中是线性存储 二维数组排序(C语言代码) 1. 二维数组在内存中是线性存储 2. 二维数组排序(C语言代码) #include <stdio.h> int main(int argc, char* argv[]) { int arr[3][4] = {34,15,3
阅读全文
posted @ 2023-03-19 08:58 Qing-Huan
阅读(219)
评论(0)
推荐(0)
switch...case跳转表
摘要: 0. 本文结构概述 switch...case语法格式 C和C++的switch不同点 switch...case反汇编 switch...case跳转表 case值间距过大不用跳转表 1. switch...case语句 switch (表达式1) // 表达式结果不能是实型、字符串 { case
阅读全文
posted @ 2023-03-19 08:46 Qing-Huan
阅读(929)
评论(0)
推荐(0)
2023年3月18日
Semaphore【python2.7与C不同】
摘要: 前言 技术背景:能够使用信号量进行C语言编程使用 遇到问题:python的信号量阻塞导致线程无法接收kill的终止信号(SIGTERM) 步骤 将遇到的问题写成一个demo.py 用C语言将其复现一遍,对比其与python中的信号量不同之处,并进行多种测试 根据测试结果,带着问题查找资料,并进行总结
阅读全文
posted @ 2023-03-18 20:54 Qing-Huan
阅读(20)
评论(0)
推荐(0)
函数【返回值】
摘要: 0. 本文结构概述 若函数无返回值,默认为int类型 返回值小于4B,存入寄存器EAX中 返回值大于4B小于8B,存入寄存器EAX和EDX中 返回值大于8B放入栈区的临时空间 1. 若函数无返回值,默认为int类型 2. 返回值小于4B,存入寄存器EAX中 3. 返回值大于4B小于8B,存入寄存器E
阅读全文
posted @ 2023-03-18 20:28 Qing-Huan
阅读(121)
评论(0)
推荐(0)
字节对齐 与 反汇编strlen函数
摘要: ## 4字节对齐的实质 之前有想过为什么C语言的字符串库函数,几乎都要处理这种4字节对齐问题,查找资料后,认为原因是: 1. 若非对齐访问,需要读取两次,CPU做数据重组,导致软件运行效率低。 在看操作系统的硬件原子操作时,发现若对齐有误或不规范,会有以下两种问题发生: 2. 通过结构体跨主机通信时
阅读全文
posted @ 2023-03-18 18:03 Qing-Huan
阅读(299)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告