随笔分类 - C/C++
主要分享C/C++相关内容
摘要:快速范围判断 经常要批量判断某些值在不在范围内,如果 int 检测是 [0, N) 的话: if (x >= 0 && x < N) ... 众所周知,现代 CPU 优化,减分支是重要手段,上述两次判断可以简写为: if (((unsigned int)x) < N) ... 减少判断次数。如果 i
阅读全文
摘要:内联函数定义 inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。可以节省时间,也会提高程序的执行速度。 为什么需要内联函数 在C语言中,如果一些函数被频繁的调用,不断地用函数入栈
阅读全文
摘要:最近看到一个问题,如何获取当前系统的文件类型? 这个时候就要介绍下/proc/mounts文件:这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。同时也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。 我们可以通过cat /proc/mounts查看挂载文
阅读全文
摘要:字符串相关 1.char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止 参数: s:字符串首地址 返回值: 成功:读入的字符串 失败:NULL gets(str)与scanf(“%s”,st
阅读全文
摘要:@目录1.双向链表的定义2.双向链表的创建3.双向链表的插入4.双向链表的删除5.双向链表更改节点数据6.双向链表的查找7.双向链表的打印8.测试函数及结果 1.双向链表的定义 上一节学习了单向链表单链表详解。今天学习双链表。学习之前先对单向链表和双向链表做个回顾。 单向链表特点: 1.我们可以轻松
阅读全文
摘要:前几天在学习交流群里,有个小伙伴问了一个问题,是关于有符号整数和无符号字符数的运算的问题。对于这部分,我个人理解的也有点问题,现在来做个总结回顾。 有符号整型和无符号数整型 举例 #include <stdio.h> #include <stdlib.h> int main() { int a =
阅读全文