cjson源码中知识难点解析

1.#ifndef cJSON_h

#define cJSON_h

这个是为了防止头文件cjson.h进行重复的编译。

https://zhidao.baidu.com/question/22559696.html

建立.h文件(也就是头文件)是为了声明c文件中的函数,以及包括宏定义。建立头文件要有对应的c文件。我简单地写一个c文件,里面有一个函数。

打开h文件,进行编辑。建立头文件是有一定的步骤的。要用到#ifndef。。。#define。。。#endif。这是为了避免重复定义。

这里的具体说明这里有一个百度百科样例:https://jingyan.baidu.com/article/6b97984dcfd2991ca2b0bf03.html

2.void *(* malloc_fn)(size_t sz);

这个是一个函数指针,返回的类型是空指针类型。

https://blog.csdn.net/b1480521874/article/details/83010304?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://zhidao.baidu.com/question/1990157386853900427.html

3.extern 关键字的作用:

https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html

4.递归函数

https://baike.baidu.com/item/%E9%80%92%E5%BD%92%E8%B0%83%E7%94%A8/9325381?fr=aladdin

5.回调函数

https://blog.csdn.net/yilovexing/article/details/93192484

https://www.zhihu.com/question/19801131/answer/27459821

6.cjson中数据种类的结构图

https://www.cnblogs.com/lavi/p/4289788.html

7.这里有一篇博客讲的是各个函数的用法,感觉不错,大概看了前面的一点内容,有个点博主讲错了,

应该是将utf16转换为utf8.但是总的来说,有函数的归总讲解,感觉还是可以的。

https://www.cnblogs.com/skullboyer/p/8152157.html

8.cJSON_GetObjecItem函数有什么作用:(这个函数主要是给出键值名,可以得到自己想要的信息内容,具体请看一篇博客)

http://blog.sina.com.cn/s/blog_a6fb6cc90101ffme.html

原文地址:https://www.cnblogs.com/littleswan/p/12620678.html