摘要: c语言基本数据类型如下,以下讨论,是基于64bit平台而言:【a】数据类型 长度 取值范围 内存存储1、signed int 4字节 -2147483648 ~ 2147483647 1bit符号位 + 31bit数字位2、unsigned int 4字节 0 ~ 4294967295 32bit数 阅读全文
posted @ 2018-12-01 21:42 thinking...... 阅读(819) 评论(0) 推荐(0)
摘要: 经常会忘记,在此做个记录,已备查看 阅读全文
posted @ 2018-12-01 21:39 thinking...... 阅读(271) 评论(0) 推荐(0)
摘要: 1、ubuntu18.04下,ibus框架中文输入法,无法通过数字选字了,只能直接回车选择第一个字。 出问题后,可以鼠标点选从中文->英文->中文,作一次切换,再尝试一次,出现同样的问题 解决办法:把 ~/.cache/ibus/ibus-libpinyin 删掉后,重启了ubuntu,问题消失了。 阅读全文
posted @ 2018-11-30 09:50 thinking...... 阅读(183) 评论(0) 推荐(0)
摘要: 【gcc】: 1、编译四步骤: 预处理:gcc -E test.c -o test.i 编译: gcc -S test.i -o test.s 汇编: gcc -c test.s -o test.o 连接: gcc test.o -o test.out 2、指定输出文件名称:gcc test.c - 阅读全文
posted @ 2018-11-26 10:32 thinking...... 阅读(636) 评论(0) 推荐(0)
摘要: 数组有如下用法:例如: int name[10]={0};作为右值:name本身可以作为数组首元素的地址,等同于&name[0],取数组第一个元素的地址。可以明确的是,name即使有意义,也是作为指针存在,而不是代表整个数组作为左值:name不能作为左值。有的资料说,不能作为左值,是因为name作为 阅读全文
posted @ 2018-11-25 23:08 thinking...... 阅读(985) 评论(0) 推荐(0)
摘要: 首先,介绍数据类型的对齐方式,例如在64位平台上1、基础数据类型 在内存中的对齐方式: int=unsigned int: 4字节 char=unsigned char: 1字节 short=unsigned short:2字节 long: 8字节 float: 4字节 double: 8字节 en 阅读全文
posted @ 2018-11-22 22:53 thinking...... 阅读(459) 评论(0) 推荐(0)
摘要: 函数的参数、局部变量、返回值的思考,是基于以前的编码过程中出现的问题,做的文字性总结,少量代码做补充!在进行以下之前,先述说下函数的运行及调用: 很少有哪个完整的程序,是在一个func中完成所有的功能而不调用其他函数接口的。函数接口的功能,要紧凑且单一化,便于代码模块化及分析维护 如:main()- 阅读全文
posted @ 2018-11-22 22:47 thinking...... 阅读(639) 评论(0) 推荐(0)
摘要: /* 递归: 【逆序】从未知点推到已知点,【顺序】代入已知点结果,从已知点带入并计算到未知点,最终到终点 尾递归: 从起点开始,依顺序计算结果,并无限靠近最终目标点 迭代: 从起点开始,依顺序计算结果,并无限靠近最终目标点 以如上的三种方式,实现斐波拉契数列 计算 斐波拉契数列: 0, 1, 1, 阅读全文
posted @ 2018-11-22 22:45 thinking...... 阅读(177) 评论(0) 推荐(0)
摘要: 树 | :由 一个根结点 和 N个子结点 及 连接线 构成,任意结点间不构成回路 | 二叉树 | :树的一种,且任意结点最多只能有两个子结点 | | 完美二叉树:满足h层二叉树的最大结点树 | | 完全二叉树:在完美二叉树的基础上,做减法。最下一层从右到左依次去掉多个结点。【1、必须依次去掉 2、全 阅读全文
posted @ 2018-11-21 11:19 thinking...... 阅读(225) 评论(0) 推荐(0)
摘要: /* 深度优先搜索的实现: 关于深度优先遍历,找不到最短路径,暂时未作分析,容后补上,以作记录 补充如下:举例如迷宫问题,都是遍历,譬如深度优先遍历、广度优先遍历。但深度优先可以最快速度找到出口,而广度优先遍历花的时间则更多; 但深度优先遍历,不一定找到最优(最短)路径,而广度优先遍历则一定能找到最 阅读全文
posted @ 2018-11-20 18:38 thinking...... 阅读(290) 评论(0) 推荐(0)
摘要: /* 广度优先遍历的实现: 与深度优先遍历比较,将栈换成了队列。同时,修改了部分bug:增加函数返回值的判断操作*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define QElemType unsigned inttypede 阅读全文
posted @ 2018-11-20 18:38 thinking...... 阅读(296) 评论(0) 推荐(0)
摘要: /* 链式栈的实现:之前的代码,再free后没有对指针赋空值,以下代码作了添加,后续抽时间对之前的代码作 【释放后的指针赋空】 修改 初始化 入栈 出栈 计算栈的有效数据长度 获取栈顶数据 清空栈 销毁栈 代码均属原创,有借鉴,有优化。有错误请指出,欢迎探讨学习*/#include <stdio.h 阅读全文
posted @ 2018-11-20 18:34 thinking...... 阅读(545) 评论(0) 推荐(0)
摘要: /* 链式队列 初始化 入队列 出队列 取队列头数据 计算队列有效长度 清空队列 销毁队列 原创代码,用于学习。引用请注明,有问题协商共学习*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define ElemType intty 阅读全文
posted @ 2018-11-20 18:34 thinking...... 阅读(390) 评论(0) 推荐(0)
摘要: /* 顺序栈的实现: 初始化 入栈 出栈 计算栈的有效数据长度 获取栈顶数据 清空栈 销毁栈*/#include <stdio.h>#include <stdlib.h>#define ElemType inttypedef struct __stackInfo{ ElemType *pData; 阅读全文
posted @ 2018-11-20 18:30 thinking...... 阅读(2004) 评论(0) 推荐(0)
摘要: /* 顺序表队列 初始化 入队列 出队列 取队列头数据 计算队列有效长度*/#include <stdio.h>#include <stdlib.h>#define QElemType unsigned inttypedef struct __QueueInfo{ int *data; QElemT 阅读全文
posted @ 2018-11-20 15:17 thinking...... 阅读(720) 评论(0) 推荐(0)
摘要: /* 双向循环链表:在单向循环链表的基础上修改 初始化 前向插入 后向插入 打印 链表长度 清空 销毁*/#include <stdio.h>#include <stdlib.h>#define itemType inttypedef struct node{ itemType data; stru 阅读全文
posted @ 2018-11-19 23:08 thinking...... 阅读(271) 评论(0) 推荐(0)
摘要: /* 单向循环链表: 初始化 插入 打印 链表长度 清空 销毁 在单向非循环链表的基础上作的修改;同时,对指针作了较全面的判空处理:防止malloc申请资源,资源为用到却无法释放 */#include <stdio.h>#include <stdlib.h>#define itemType intt 阅读全文
posted @ 2018-11-19 18:54 thinking...... 阅读(736) 评论(0) 推荐(0)
摘要: /* 单向非循环链表: 初始化 前插入 后插入 打印 链表长度 清空 销毁*/#include <stdio.h>#include <stdlib.h>#define itemType inttypedef struct node{ itemType data; struct node *pNext 阅读全文
posted @ 2018-11-19 17:53 thinking...... 阅读(211) 评论(0) 推荐(0)
摘要: #include <stdio.h>int halfIntervalSearch(int *p, unsigned int len, int num){ unsigned int highSN = len-1; unsigned int lowSN = 0; unsigned int midSN = 阅读全文
posted @ 2018-11-19 11:35 thinking...... 阅读(576) 评论(0) 推荐(0)
摘要: 引自:https://www.cnblogs.com/xjx-user/archive/2012/11/30/2796583.html > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_P 阅读全文
posted @ 2018-11-18 23:07 thinking...... 阅读(225) 评论(0) 推荐(0)
摘要: 看竖线中间的部分,竖线将复杂的表达式截断,即用复杂指针的分析法作截断处理int (*(*func)[5][6])[7][8]; | a | | b || c |a: (*func) 即func是个指针b: func是个二维数组的指针[5][6],该二维数组的元素是指针类型c: func是个二维数组的 阅读全文
posted @ 2018-11-18 21:06 thinking...... 阅读(281) 评论(0) 推荐(0)
摘要: 转自https://www.cnblogs.com/big_sky/archive/2010/02/04/1663890.html 右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。 C标准的声明规则,是用来解决如何创建声明的,而右左 阅读全文
posted @ 2018-11-18 20:10 thinking...... 阅读(342) 评论(0) 推荐(0)
摘要: 冒泡算法: 外围for控制大循环需N次, 内存控制每次大循环需比对M次。 因每次大循环,均挪移一个最大(最小值)到Table首或Table尾,因此下一个大循环则比前一次少一个循环(下一个循环挪移【第二大】or【第二小】到对应位置) #include <stdio.h>void printTable( 阅读全文
posted @ 2018-11-18 18:01 thinking...... 阅读(171) 评论(0) 推荐(0)
摘要: 注:有序插入:则根据xItemValue值从小到大(MAX:0xFF),排序插入 无序插入:按照插入的时间先后顺序,从第一个节点到最后一个节点(vListEnd),依次插入 有序插入的执行时间较长,先后顺序即代表了执行的顺序,如CurrentTimerList上的当前节点,就是将最先执行的节点 无序 阅读全文
posted @ 2018-11-08 19:56 thinking...... 阅读(642) 评论(0) 推荐(1)
摘要: 代码如下:关注点标注为红色,标记为 再继续分析-20181108 void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement ) { TickType_t xTimeToWa 阅读全文
posted @ 2018-11-08 18:26 thinking...... 阅读(2260) 评论(0) 推荐(0)