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://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函数有什么作用:(这个函数主要是给出键值名,可以得到自己想要的信息内容,具体请看一篇博客)