自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 双向循环链表

循环与不循环区别单向链表:只有一个指向下一个节点的指针。优点:单向链表增加删除节点简单。遍历时候不会死循环;缺点:只能从头到尾遍历。只能找到后继,无法找到前驱,也就是只能前进。适用于节点的增加删除。双向链表:有两个指针,一个指向前一个节点,一个后一个节点。优点:可以找到前驱和后继,可进可退;缺点:增加删除节点复杂,需要多分配一个指针存储空间。适用于需要双向查找节点值的情况下面讲解双向循环链表的一般写法:#include<stdio.h>#include<malloc.

2020-10-14 15:10:44 586

原创 C语言链表操作

关于链表的说明与应用链表属于C语言数据结构,学了数组为什么要学习链表对数据进行操作,简而言之,效率问题。下面代码中,主要写了创建链表、查找、删除、判断是否是循环链表等等,一些常用功能在这里进行了总结。#include<stdio.h>#include<malloc.h>#include<string.h>#include<stdlib.h>#define OK 1#define ERROR 0#define ture 1#define fa

2020-10-13 10:41:17 246

原创 TLV数据格式及解析

TLV数据格式几乎所有的需要在卡片和终端之间传送的数据都是TLV格式的. PBOC文档里并没有对TLV编码细节做具体说明, 而EMV的手册里虽有叙述,但并不详细. 我下面就要很详细的分析TLV的编码格式并给出相应的TLV解码的伪代码.TLV是tag, length和value的缩写.一个基本的数据元就包括上面三个域. Tag唯一标识该数据元, length是value域的长度. Value就是数据本身了. 举个例子, 下面是一个tlv格式的AID(应用标识符)字节串”9F0607A000000003.

2020-09-15 10:09:17 3819

原创 关于memmove函数的实现

原型:  void *memmove( void* dest, const void* src, size_tcount );#include<string.h>由src所指内存区域复制count个字节到dest所指内存区域。src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针。Copies the values of num bytes from the location pointed by source to the memory bl.

2020-09-15 09:39:33 220

原创 对于指针传参的再一次简要的说明

对于简单指针传参的说明#include<stdio.h>#include<malloc.h>#include<string.h>int InitStr(char *str);int main(){ char *ptr = NULL; ptr = (char *)malloc(50); if(ptr==NULL) { return -1; }// ptr = "hello world!"; printf("ptr = %s\n ",ptr)

2020-09-07 09:14:56 129

原创 指针传参深入研究

1 关于C语言指针传参问题深入研究的结论1.普通指针变量传参当传入指针变量到另一个函数时,形参只是起到拷贝的作用,如果在形参上对这个指针变量动手脚,是改变不了这个指针变量所指向的内容,因为你地址都变了,看代码:#include<stdio.h>#include<string.h>#include<malloc.h>void InitP(char *p);int main(){ char *p = NULL; p = (char *)malloc(5

2020-08-27 17:56:48 307

原创 C语言实现汉字的输出以及字库的应用

C语言实现汉字的输出以及字库的应用我用的是HZK16字库,可以自行网上下载代码如下:#include <stdio.h> #include<windows.h>#define FONT_SIZE (16) /* 字体大小 */ /* 获取汉字在汉字库中的索引位置 根据GB2312/GBK编码规则,汉字的低字节hz[0]是区码,高字节hz[1]是位码,汉字库从区位码0xa1a1开始存放汉字 */ #define HZ_INDEX(hz)

2020-08-25 16:38:26 5987

原创 C语言实现字符串在屏幕上滚动

关于半个字符的描述使用与判断一个汉字是由两个字符组成,避免输出时乱码,可以先判断传进来的字符是否为半个字符,代码如下:int half_chn(char *info, int len){ int i; for(i=0; i<len; ) { if(info[i] >= 0x80) i += 2; else i++; } if(i == len) retur

2020-08-25 16:29:06 4464 1

原创 C语言函数名、&函数名、*函数名

C语言函数名、取地址函数名、解引用函数名关系

2020-08-25 16:14:18 12913 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除