C语言
C语言基础
C or Cpp
这个作者很懒,什么都没留下…
展开
-
C语言去掉字符串开头和结尾的空白字符
在C语言中,当指针作为参数传递给函数时,函数内部对指针变量的修改不会影响到调用函数中的原始指针变量。也就是说,函数内部的指针变量只是原始指针的一个拷贝。另外,返回 str 可以让这个函数与其他函数链式调用。比如 printf(“%s”, trim(str));如果不返回指针,原始指针依然指向字符串开头,也就是还没处理开头空白字符的位置。原创 2024-07-28 16:43:53 · 172 阅读 · 0 评论 -
C语言文件操作
【代码】C语言文件操作。原创 2024-07-26 21:44:31 · 385 阅读 · 0 评论 -
C语言系统调用linux文件系统
在C语言中,openwrite和read函数是系统调用(system calls),它们直接由操作系统提供,用于底层的文件操作。这些函数是UNIX和类UNIX系统(如Linux)中的标准接口,不同于C标准库中的文件操作函数(如fopenfwrite和fread。原创 2024-07-25 14:57:29 · 960 阅读 · 0 评论 -
C语言文件锁Linux
进程A1写入完成前,进程A2的写入被阻塞,进程A3的读取被阻塞。原创 2024-07-25 12:31:37 · 231 阅读 · 0 评论 -
时间复杂度
O(\log n):表示性能更好,特别是在处理非常大的数据集时,算法运行时间增加得较少。O(n):表示性能相对较差,因为运行时间随输入规模线性增加。因此,在设计和选择算法时,优先考虑时间复杂度较低的算法(如O(\log n))可以获得更高效的性能,尤其是在处理大型数据集时。原创 2024-07-21 14:17:40 · 314 阅读 · 0 评论 -
C语言实现类似字典的功能(字符串索引的数组)
在C语言中,数组的索引只能是整数。数组索引用于访问数组中的元素,而数组本质上是一个线性结构,索引必须是整数类型(如。:定义一个结构体,其中一个成员是字符串,另一个成员是数组的值,然后在这个结构体数组中进行查找。:使用两个数组,一个存储键(字符串),一个存储值,通过查找键数组的索引来访问值数组中的对应值。上述方法在C语言中常用于实现类似于其他高级语言中的字典或映射结构。:使用字符串作为键,整数或指针作为值。库或者自己实现一个简单的哈希表。),以便指示数组中的具体位置。原创 2024-07-21 13:37:25 · 326 阅读 · 0 评论 -
C语言 灵活数组成员
在C99及C++标准中,引入了灵活数组成员(flexible array member)的概念。这个特性允许在结构体中定义一个数组,其大小在编译时未知,实际大小在运行时确定。通常,灵活数组成员的定义方式是int data[],这表明数组的大小是动态的。占位符用途对齐和布局:使用是一个常见的技巧,用于确保结构体在内存中的对齐和布局符合要求。这种方法让编译器在计算结构体的总大小时考虑到数组的开始位置,方便动态分配实际需要的内存。占位符:在结构体中使用。原创 2024-07-19 14:09:47 · 916 阅读 · 0 评论 -
循环中获取最近N个最大值
【代码】循环中获取最近N个最大值。原创 2024-07-17 20:44:07 · 157 阅读 · 0 评论 -
C语言定时执行任务
每天下午4点执行任务。原创 2024-07-09 22:46:54 · 97 阅读 · 0 评论 -
C语言代码风格
用来描述文件的作用、作者、日期等信息。程序文件的说明,一般放在文件头部注释。原创 2024-06-29 19:09:09 · 79 阅读 · 0 评论 -
C语言printf
【代码】C语言printf。原创 2024-06-28 11:20:26 · 180 阅读 · 0 评论 -
C语言打印数组
下面是一个简单的C语言自定义函数,用于打印数组中的元素。函数接收一个整数数组和它的大小作为参数,并打印数组的元素。函数示例展示了如何调用。原创 2024-06-22 17:39:18 · 121 阅读 · 0 评论 -
C语言循环中获取之前变量的值
如果不想用memcpy进行拷贝赋值,可以使用一个额外的变量来存储上一次迭代的数组的索引,利用这个索引交替访问两个数组。原创 2024-06-21 22:04:38 · 464 阅读 · 0 评论 -
C语言数组
数组类型由元素类型和数组大小共同决定(type [ N ])二维数组a的类型为 int[2][3]原创 2024-06-09 14:59:26 · 85 阅读 · 0 评论 -
C语言指针
函数拥有类型,函数类型由返回类型和参数类型列表组成。原创 2024-06-08 16:07:40 · 217 阅读 · 0 评论 -
程序里为什么1==1.0返回true?
所以为什么1.1 = = (float)1.1 返回false呢,因为1.1是double类型,(float)1.1是float类型,double类型的精度为52位,对于0.1这样的无限循环就采取了截断,只写52位,float只写23位。在比较基本类型的值的时候,实际上比较的是这个数转化为二进制后的值。十进制的数1.0、1.5、1.25等是整数或小数最后一位是5的,是可以准确用二进制数表示的,比如1.0或1用二进制表示出来都是1.0、1.5用二进制表示是1.1、1.25用二进制表示是1.01。原创 2024-04-15 12:36:05 · 251 阅读 · 0 评论 -
C语言中文分词 Friso的使用教程
Friso是使用C语言开发的一款高性能中文分词器,使用流行的mmseg算法实现。完全基于模块化设计和实现,可以很方便的植入到其他程序中,例如:MySQL,PHP等。同时支持对UTF-8/GBK编码的切分。明显这里写错了,成员变量名和参数名相同,肯定不对。在friso.ini配置文件中,friso.mode = 2 这个成员变量名mode是固定值。解决办法:按住ctrl点击鼠标左键,定位到该函数。报错:结构 “” 没有字段 “原创 2024-04-01 20:26:06 · 371 阅读 · 0 评论