![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言数据结构
吾非善类
这个作者很懒,什么都没留下…
展开
-
C异常处理方法
1.C语言的异常处理利用的是longjmplongjmp 与goto的作用类似,但作用域差异很大。longjmp不限于函数内部。2.使用时需要使用c标准库中的setjmp.hjmp_buf 是setjmp.h中定义的一个结构体使用时,先实例化一个结构体利用setjmp来进行赋值。setjmp返回0则实例化成功。然后再利用longjmp进行对应的跳转。跳转的到的地方即setjmp()的地方,其setjmp的返回值对应的就是longjmp的第二个参数。2.举个例子:#i原创 2022-01-24 16:56:39 · 2149 阅读 · 0 评论 -
c++读写配置文件(可复用)
配置文件格式:每一行有两种格式:1. #注释2. key value #注释例如:#此文件是配置项文件,主要控制主程序的部分变量。history 1 #测试1name 2big 3 #测试2解析逻辑:1.以一行为单位,当遇到\n时将当前数据输出出来2. 遇到#,直接将其数据输出出来,直接读到行某。3. 利用falge 来区别Key和Value代码如下:复用时,可以创建结构体将结构体放入队列或其它结构中用于访问。#include<co..原创 2021-05-25 10:16:24 · 620 阅读 · 0 评论 -
通用双向链表(可复用)
功能:双向链表结构两头都有指向上一节点指针和指向下一节点指针。此结构体可实现栈,队列,链表的功能。Que.c#include<Que.h>//初始化Que返回包含头结点和尾结点的结构体指针QueP* initQue() { Que* top = (Que*)malloc(sizeof(Que)); Que* end = (Que*)malloc(sizeof(Que)); top->data = NULL; end->data = NULL; top-&原创 2021-04-21 11:43:20 · 273 阅读 · 0 评论 -
字节序问题(某些主机上字节输出,以及保存在硬盘后16进制字节是倒序的问题)
刚开始接触这个问题原因在于python的dbfRead包出了问题,想自己用c写一个DEF的解析包先看问题所在:我有一个DBF文件用NotePad++读出来后用16进制展示后头几行入下图所示根据DBF的文件格式参照下面这个博客http://www.xumenger.com/dbf-20160703/可以看出此文件记录数应该是0x37010000条但是我用DBF阅读器打开后查看其信息时是然后311转为二进制是0x00000137扎眼一看就感觉是个倒序。然后不停百度,终于见转载 2021-03-24 16:33:08 · 594 阅读 · 0 评论 -
github上比较有意义的中文开源项目
20200108发现:c/c++的算法导论用c/c++实现算法导论中的大部分算法,并提供多个pdf文件给予浏览https://github.com/huaxz1986/cplusplus-_Implementation_Of_Introduction_to_Algorithms原创 2021-01-08 11:06:58 · 317 阅读 · 2 评论 -
不死进程
利用WindowsAPI创建子进程获取子进程退出代码从而让子进程不死。只应用于Windows平台。int main(){ PROCESS_INFORMATION pid; DWORD exitCode=0; STARTUPINFO si = { sizeof(si) }; BOOL ProcessFlag = CreateProcess(TEXT(exeName), NULL, NULL, NULL, FALSE, 0, NULL, TEXT(exePath), &si, &原创 2020-12-18 16:55:28 · 128 阅读 · 2 评论 -
序列化数据传输压缩
1.名词解释1.1序列化序列化的数据传输时以一定格式传输例:struct data{ int64 data1; int64 data2; char data3[25];}但传输的数据实际上data1和data2大部分数据都是非常小的,只有极少数的数据会用到64位数据来进行保存,这种时候本博客的传输压缩算法就有用武之地。1.2 1248码:在表示十进制数时计算机除了二进制编码之外还有一种编码方式叫做1248码,其用4位二进制数表示一位10进制数。使用的地原创 2020-12-04 01:32:48 · 1348 阅读 · 0 评论 -
c语言使用函数指针
c语言真的是在下用过的最好的语言了,想一想,用函数指针不就相当于利用函数指针来指定汇编下的cs段寄存器的值嘛!用汇编其实对应的也可以认为是jmp到一个cs段标号下好了用汇编其实写起来真的有点麻烦,现在用c来写相对更简单一点。函数指针其存储结构如下 返回数据类型 *函数指针 以及参数列表其对应下面的程序就是 int (*add1)(int,int)=add;使用时指定其参数列表和返回的值赋予的变量即可使用使用的例子如下#include...原创 2020-11-18 20:56:37 · 143 阅读 · 0 评论 -
单向链表(可复用)
这是单链表的创建 复用的时候需更改模块在注释中有(按需求更改)其中selectNode()反回的是目标节点的上一个节点,这个函数的返回值可用于其它函数使用增加节点按顺序调用initData();initNode();insertNode();删除节点按顺序调用selectNode();deleteNode();查询节点按顺序调用selectNode();...原创 2020-01-01 03:51:06 · 144 阅读 · 0 评论