C语言
文章平均质量分 85
wjjontheway
这个作者很懒,什么都没留下…
展开
-
C语言数据结构之优先队列(堆)
优先队列(Priority Queue)数据计算机科学中最讲究的一种基本模型Inser(插入) 。 等价于EnqueueDeleteMin(删除最小者)二叉堆结构性质堆是一颗被填满的完全二叉树(complete binary tree)完全二叉树:对一颗具有n个节点的二叉树按层序编号,如果编号为i (1<=i<=n)的节点与同样深度的满二叉树中编号为 i 的节点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树。完全二叉树可以用一个数组表示而不需要指针。且对于数原创 2020-12-06 22:53:13 · 508 阅读 · 0 评论 -
Cjson简介与使用
json格式json元素类型 /* cJSON Types: */#define cJSON_Invalid (0)#define cJSON_False (1 << 0)#define cJSON_True (1 << 1)#define cJSON_NULL (1 << 2)#define cJSON_Number (1 <...原创 2019-12-06 23:59:43 · 554 阅读 · 0 评论 -
Cli 命令行
Cli 命令行简介在GUI出现之前,最基础的就是Cli命令行交互工具,Command Line Interface.在Github上,有关于clilib的文件。https://github.com/dparrish/libcli可以将上述代码移植到自己的系统中,然后和网络(也许还可以在串口上)对接,这样就可以使用cli命令行模式。Libcli provides a shared C library for including a Cisco-like command-line interface原创 2021-03-10 16:31:53 · 2910 阅读 · 0 评论 -
C语言之栈的数组实现
栈定义栈(Stack)是限定仅在表尾进行插入和删除操作的线性表栈顶(top)允许插入和删除的一端称为栈顶栈底(bottom)另一端称为栈底空栈-不包含任何数据后进先出(Last In First Out)栈很可能是在计算机科学中在数组之后最基本的数据结构头文件#ifndef _STACK_H_#define _STACK_H_//=====================================================================原创 2020-11-09 00:29:31 · 212 阅读 · 0 评论 -
C语言数据结构之单向链表
这里写自定义目录标题单向链表头文件接口单向链表话不多说,直接上码头文件#ifndef _SINGLE_LINKLIST_H_#define _SINGLE_LINKLIST_H_#include "stdio.h"#include "stdlib.h"//===============================================================================//S E L F D E F I N I T I O N//===原创 2020-11-08 19:16:10 · 95 阅读 · 0 评论 -
C语言之符号优先级
类别优先级最高的并不是真正意思上的运算符优先级运算符名称或含义使用形式结合方向说明1[ ]数字下标数组名[常量表达式]左到右2( )圆括号(表达式)/函数名(形参表)左到右3.成员选择(对象)对象.成员名左到右4->成员选择(指针)对象指针->成员名单目运算符优先级运算符名称或...原创 2020-11-07 16:02:26 · 1812 阅读 · 0 评论 -
C語言之static inline函数
今天在前辈的代码中看到在头文件中定义了static line函数,并且该函数只是判断一个全局变量的状态。内联代码//abc.c中定义了一个全局变量uint8_t g_addrMode;//abc.h中定义static line函数extern uint8_t g_addrMode;static inline bool CheckAddrMode(void){ return (g_addrMode != 0);}引入内联函数的目的为了减少因函数调用而引起的系统开销内联函数实际上是以原创 2020-05-12 17:17:30 · 1881 阅读 · 1 评论 -
C语言之循环队列与队列的链式存储结构
https://blog.csdn.net/qq_43210174/article/details/93420038https://zhuanlan.zhihu.com/p/53882098https://www.jianshu.com/p/86a3ebca0875https://www.cnblogs.com/wychen5/p/10445264.htmlhttps://blog.csd...原创 2020-01-19 19:47:18 · 1671 阅读 · 0 评论 -
C 语言之const关键字
const char* ptr定义一个指向字符常量的指针,char const *ptrchar* const ptr原创 2020-01-18 00:04:27 · 210 阅读 · 0 评论 -
warning : pointless comparison of unsigned integer with zero
警告Warning[Pe186]: pointless comparison of unsigned integer with zerotypedef enum { PRO_NULL = 0, PRO_TYPE_X, PRO_TYPE_Y, PRO_TYPE_Z, PRO_MAX_TYPE,}PRO_TYPE;void fun(char *pData){ PRO_TY...原创 2020-01-15 15:21:28 · 2929 阅读 · 0 评论 -
C语言之总线错误
Error当硬件告诉操作系统一个有问题的内存引用时,就会出现这两种错误。操作系统通过向出错的进程发送一个信号与之交流。进程收到“bus error”或“segmentation fault”信号后将进行信息转储并终止。不过可以为这些信号设置一个信号处理程序(signal handler),用于修改进程的缺省反应。bus error (core dumped) 总线错误CPU对进程引用内存...原创 2020-01-01 17:59:52 · 1285 阅读 · 0 评论 -
C语言之指针输入和输出特性
输入void printfStr(const char *s){ printf("%s\n",s);}void test(){ char *s = malloc(sizeof(char)*100); memset(s,0,100); strcpy(); printfStr(s);}//打印数组,指向首元素的指针void printfArray(int *arr,int l...原创 2019-12-29 12:57:35 · 1958 阅读 · 0 评论 -
C语言之函数调用流程
调用函数所用信息函数的返回地址函数的参数临时变量保存的上下文:包括在函数调用前后需要保持不变的寄存器//函数从左到右,还是从右向左压栈int fun(int a,int b ){ int t_a = a; int t_b = b; return t_a + t_b;}int main(){ int ret = 0; ret = fun(10,20); prin...原创 2019-12-27 21:51:47 · 3682 阅读 · 0 评论 -
C语言之sizeof、内存分区
sizeofsizeof 返回的是变量(单个变量或结构体)实际所占用的空间的大小typedef struct Person{ char a; int b;}PERSON;int main(){ std::cout << "Hello World!\n"; printf("int size is %d\n", sizeof(int)); double ...原创 2019-12-26 23:26:47 · 208 阅读 · 0 评论 -
C语言之结构体相关
结构体相关结构体成员size和offset结构体对齐结构体成员比较在coding中需要比较两个结构体,比较其内部成员是否相同typedef struct CommonParams { int a; char b[]; char c[]; int d;}CommonParams typedef struct AppType0_tItemContent{ CommonPa...原创 2019-12-26 16:41:39 · 296 阅读 · 1 评论 -
使用VS2010编译sqlite3,生成静态的sqlite3.lib
.1.在VS2010中,文件->新建->项目->Win32项目,命名为sqlite3(其他名称也行)。在向导设置中,选择DLL(D)、空项目。2.将下载的sqlite-amalgamation-30xxxxx.zip 中的“sqlite3.h”、“sqlite3.c”、“sqlite3ext.h”三个文件添加到工程中,具体做法:右键sqlite3工程->添加->现有项,在出现的对话框中选择上述转载 2015-04-09 17:40:46 · 1463 阅读 · 0 评论 -
VS2011下生成sqlite3.lib
流程如下:1.http://www.sqlite.org/download.html上下载sqlite-dll-win32-x86-3080900.zip2.将sqlite-dll-win32-x86-3080900.zip解压至lib文件夹下(D:/Sqlite3/lib)3.从目录D:\Program Files (x86)\Microsoft Visual Studio 11.0原创 2015-04-09 17:06:59 · 841 阅读 · 0 评论 -
存储类,连接和内存管理
外部函数和静态函数double aa();//默认为外部的static double bb();//静态函数只可以定义在它的文件中使用extern double cc();//外部函数可被其他文件中的函数调用类型限定词const,如果变量声明中带有关键字const,则不能通过赋值、增量或减量运算来修改该变量的值。const int nochange =12;const与指针的转载 2013-07-10 10:00:23 · 755 阅读 · 0 评论