C语言
C
Emma-Zhang
这个作者很懒,什么都没留下…
展开
-
数据结构(2.4)双向循环链表的实现(c语言)
本文实现语言:c语言我们都知道线性表根据底层存储方式的不同,分为下面几类。其中在链式存储结构中,以**单链表(不带头节点,不循环)和双链表(带头节点,循环)**最为重要。本文主要实现带头节点的双向循环链表的增,删,插,改等功能。...原创 2019-08-18 20:09:13 · 277 阅读 · 0 评论 -
数据结构(4)链表的介绍与代码实现(c语言)
本文实现语言:c语言我们都知道线性表根据底层存储方式的不同,分为下面几类。其中在链式存储结构中,以单链表(不带头节点,不循环)和双链表(带头节点,循环)最为重要。本文主要实现单链表的增,删,插,改等功能。什么情况下传二级指针?(看是否要通过形参改变实参:比如说查找,不改变链表结构,用一级指针;如果是头插,PHead已经改变,得用二级指针)代码:#define _CRT_SECURE_N...原创 2019-08-18 00:32:06 · 267 阅读 · 0 评论 -
数据结构(2.2)动态顺序表的实现 (c语言)
本文实现语言:c语言动态顺序表的结构:代码实现:原创 2019-08-17 09:55:55 · 354 阅读 · 0 评论 -
数据结构(3)线性表的介绍与代码实现(C语言)
本文实现语言:c语言我们都知道线性表根据底层存储方式的不同,分为下面几类,本文主要用静态数组实现静态顺序表的增,删,插,改等功能。代码:#define _CRT_SECURE_NO_WARNINGS 1//------------------------------------------SeqList.h----------------------------------------...原创 2019-08-17 08:18:12 · 353 阅读 · 0 评论 -
数据结构(10)广义表的介绍与代码实现(c语言)
概念广义表是线性表的推广。广义表GL = (a1,a2,a3…,an),如果ai是单个数据元素,则称ai是广义表的原子;如果ai也是一个广义表,则称ai是广义表的子表。在广义表中要求各原子具有相同的类型,但允许各子表具有不同的结构。举一个广义表的例子:D=((a,b), ( c), d, ((e,f),g)),这个广义表D有4个元素,其中4表示广义表的长度。D中所包含括号的最大层数称为广义表的...原创 2019-08-20 18:39:37 · 6316 阅读 · 8 评论 -
数据结构(6)队列的介绍与代码实现(c)
更多数据结构的实现文章目录队列的分类:顺序队列循环队列 (环形队列)循环队列的代码实现链式队列链式队列的代码实现优先级队列队列的应用队列是一种运算受限的线性表,在队列上,插入限定在某一端进行,删除限定在另一端进行。允许插入的一端称为队尾,允许删除的一端称为队头。新插入的结点只能添加到队尾,被删除的只能是排在队头的结点。进行插入操作的一端称为队尾(入队列)进行删除操作的一端称为队头(出队...原创 2019-08-19 22:47:31 · 821 阅读 · 0 评论 -
数据结构(5)栈的介绍与代码实现(c语言)
栈:一种特殊的线性表,它的插入和删除元素操作其只允许在线性表固定的一端进行。允许进行数据操作的一端称为栈顶,另一端称为栈底。处于栈顶位置的数据元素成为栈顶元素不含任何元素的栈称为空栈栈又称为后进先出的线性表和线性表类似,栈也有两种存储结构:顺序存储结构和链式存储结构。顺序栈通常由一个一维数组和一个记录栈顶元素位置的变量组成。习惯上将栈底放在数组下标小的那端。顺序栈所有的操作时...原创 2019-08-19 16:12:06 · 961 阅读 · 0 评论 -
开源项目cJSON(附带源码)
参考网站:1.cJSON网站2.从零开始的 JSON 库教程cJSON是超轻量级的JSON解析器。文章目录JSON项目cJSON功能:用法需求分析设计数据结构API 设计在介绍项目前,先说说JSON,如果你已经了解,可以跳过这一部分。JSONJSON介绍网站 json.org。JSON,即javascript对象表示法,是一种轻量级的数据交换格式,它基于JavaScript编程...原创 2019-10-06 13:08:56 · 1266 阅读 · 0 评论 -
开源项目cJSON具体实现2(数字的解析)
5.实现JSON 数字语法的解析。5.1 JSON number 的语法规则与解释。结合上一节我们说的JSON的语法规则,JSON number 的语法规则是这样的:JSON-text = ws value wsws = *(%x20 / %x09 / %x0A / %x0D)value = null / false / true / numbernull = "null"fals...原创 2019-10-06 13:14:36 · 692 阅读 · 0 评论 -
开源项目--cJSON6--JSON生成器
文章目录头文件测试代码函数实现生成数字生成字符串生成数组和对象最终代码什么是JSON生成器?JSON生成器负责把树形数据结构转化为JSON文本,这个过程又称为字符串化(stringify)。头文件生成器的API:char* lept_stringify(const lept_value* v, size_t* length);在实现JSON解析的时候,我们加入了一个动态堆栈,用于存储...原创 2019-10-02 21:53:17 · 504 阅读 · 0 评论 -
开源项目cJSON具体实现6(对象的解析)
文章目录9. 对象9.1 JSON 对象语法头文件测试代码函数实现重构9. 对象本章实现的是JSON对象。JSON对象的实现和JSON数组的实现很是相似,我们可以对比着来看。9.1 JSON 对象语法JSON数组JSON对象JSON数组是由JSON值value组成JSON对象是由成员对象member组成,成员对象是键值对JSON数组是 [] 构成JSO...原创 2019-10-02 20:25:52 · 243 阅读 · 0 评论 -
开源项目cJSON具体实现5(数组的解析)
文章目录8. 数组8.1 数组语法与解释8.2 头文件8.3 test.c8.4 重头戏,lept_parse_array函数的编写。8.6 总结与练习8.7 编写test_parse_array()单元测试8.8 解析空白字符8.9 内存泄漏8.10 解析错误时的内存处理8. 数组8.1 数组语法与解释先来看看 JSON 数组的语法:array = %x5B ws [ valu...原创 2019-09-17 16:27:00 · 778 阅读 · 0 评论 -
开源项目cJSON具体实现4(转义字符串的解析)
参考文章:知乎文章目录7. Unicode7.1 ASCII、Unicode、UTF-8 介绍7.2 需求分析7.3 头文件7.3 test.c文件7.5 leptjson.c文件7. Unicode7.1 ASCII、Unicode、UTF-8 介绍在上一个部分,我们已经能解析「一般」的 JSON 字符串,仅仅没有处理 \uXXXX 这种转义序列。为了解析这种序列,我们必须了解有关 Un...原创 2019-09-14 21:11:36 · 2059 阅读 · 0 评论 -
const在C和C++中定义数组时的不同
#include<stdio.h>int main() { int arr1[10];//C与C++中都可以 int sz1 = 10; int arr2[sz1];//C与C++中都不可以 const int sz2 = 10; int arr3[sz2];//C中不可以,C++中可以 system("pause"); return 0;}原因:...原创 2019-05-24 12:40:09 · 1073 阅读 · 0 评论 -
打印100到200之间的素数(C)
#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){ for (int i = 101; i <= 200; i+=2) {//偶数不可能是素数 //i是否为素数 int j = 0; for (j = 2; j <= sqrt(i) ; j++) {...原创 2019-05-24 18:38:59 · 182 阅读 · 0 评论 -
C程序之三子棋(数组)
先看效果:思路:一共定义了8个函数:菜单打印函数棋盘打印函数玩家下棋函数电脑下棋函数赢家判断函数判断棋盘是否满了函数游戏函数主函数菜单打印:这个没什么好说的,printf 输出就行,写成什么样都可以棋盘打印:我们的棋盘实际上就是 3x3 的数组,数组中的元素有:| — X(代表人下的棋) o(代表电脑下的棋)空格(棋盘初始化需要),用 for ...原创 2019-06-06 22:51:51 · 112 阅读 · 0 评论 -
C数组实现扫雷
扫雷游戏规则::扫雷游戏的实现需要两个数组,假设我们要实现一个10 * 10的扫雷游戏,我们得定义两个 12 * 12的数组,一个是Map[12][12],一个是mine[12][12]其中Map[12][12]的作用就是给玩家看,mine[12][12]的作用是用来布雷;当我们开始扫雷时,显示周围埋雷数的棋盘是Map,而 Mine 除了布雷其他函数都不可以改变它为什么10 * 10的扫...原创 2019-06-11 21:24:56 · 488 阅读 · 1 评论 -
开源项目cJSON具体实现1(NULL 与 Boolean的解析)
先给项目网站cJSON download参考文章:知乎cJSON是什么?An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser.说白了就是一个超轻量级的json解析器。那么问题又来了,什么是json?更多详细信息点击:json.cn说简单点 json 采用完全独立...原创 2019-09-09 15:26:32 · 1534 阅读 · 0 评论 -
C语言--输出格式
1. 基本格式%c 字符%s 字符串%d 、 %i 有符号十进制整数%u 无符号十进制整数%f 表示按浮点数的格式输出%e 表示按指数形式的浮点数的格式输出%g 用来输出实数,输出格式为f格式或e格式,系统根据数据占宽度m大小,自动选择占宽度较小的某种格式输出,g格式符不输出小数...原创 2019-09-09 17:52:55 · 955 阅读 · 0 评论 -
开源项目cJSON具体实现3(字符串的解析)
文章目录6. JSON 字符串语法6.1 JSON字符串的语法规则6.2 头文件设计6.3 test.c的设计6.3 实现解析器 leptjson.c6.5 拓展,关于内存泄漏的检测方法。6. JSON 字符串语法6.1 JSON字符串的语法规则JSON 字符串是由前后两个双引号夹着零至多个字符组成。字符分为 无转义字符 或 转义字符。其中转义序列有 9 种,都是以反斜线开始,如常见的 ...原创 2019-09-12 21:03:57 · 457 阅读 · 0 评论 -
C语言--指针
这是一篇关于我学指针的一点笔记,若有错误,恳请指正。:)上代码:int main(){ int a = 10; int *b = &amp;amp;a; return 0;}在vs2017下打开调试中的监视窗口,我们可以看到: 从图中我们可以看到: a的内容是10,它的地址用&amp;amp;a就可以看到,将a的地址赋给b,所以b的内容就是a的地址,a的类型是...原创 2018-08-24 09:43:12 · 102 阅读 · 0 评论