
c语言
ngany
这个作者很懒,什么都没留下…
展开
-
判断两个字符串是否相等
将两个字符串比较是否相等要求:给定两个字符串s1,s2并赋值,判断两个字符串是否相等,若相等则返回0,否则返回1。包含的引用函数strlen(s1)取字符串的长度方案一:使用数组表示,取两个数组的长度,k为较长数组的长度,两个数组依次比较字符串里面的内容,如果相等则j+1,比较完之后,若果j=k则返回0,若j≠k,则返回1#include<string.h>#include<stdio.h>in原创 2017-07-19 20:55:37 · 7823 阅读 · 0 评论 -
C语言 函数指针 和 typedef
函数函数一般遵循的格式:函数的返回类型、函数名、参数列表;void func(void) --> 对应的指针 void (*P)(void)typedef定义函数指针typedef int (*funptr)(int,int) // typedef行int (*fp)(int,int); //原型行fun_ptr fp; //应用行原型行:创建了...原创 2018-12-25 17:37:49 · 533 阅读 · 0 评论 -
FreeRTOS内存管理heap_2
简要介绍heap2采用链表的方法管理内存堆。链表结构体的next指针指向下一个空闲内存块。并且链表连接的内存块按照从小到大的顺序排列。分配内存的时候,可以遍历查询。申请内存时,查询到合适大小的内存后,如果内存有多,那么需要割下多余内存,重新插入到内存链表中,按照从小到大的顺序,在合适的位置插入。释放内存的时候,通过释放的地址找到该内存块的链表结构体,给出要释放的内存的大小,并插入到内存堆链...原创 2019-01-04 16:02:39 · 751 阅读 · 0 评论 -
队列结构、内存管理与QP原生事件队列、QP原生事件池
目录发布事件与取出、处理事件的简要说明原生事件队列原生事件队列初始化使用MyQueue_post_FIFO发送事件使用MyQueue_get函数获取一个事件队列使用情况简图QP原生事件池/内存池事件池的初始化从池里获得一个内存块把一个内存块回收到池内VS测试代码队列事件池头文件主函数发布事件与取出、处理事件的简要说明发布事件从...原创 2018-12-28 17:18:28 · 994 阅读 · 1 评论 -
指针定义字符串与数组定义字符串 sizeof与strlen使用
const char *m3 = "\nEnough about me - what's your name? "; const char *m4 = "1"; const char(*m5)[21] = "12345678901234567890";m3是不含初始化长度,m5含有初始化长度m3+1是指m3的地址加1,m5加1是指m5的地址加上m5的长度m5的地址为0...原创 2018-12-22 10:36:33 · 510 阅读 · 0 评论 -
C语言里的单一继承
http://www.state-machine.com/psicc2/https://blog.youkuaiyun.com/snow_5288/article/details/70197366继承是基于已有结构派生新的结构,从而重用和组织代码的一种能力。你可以非常简单的在 C 里实现单继承,只要字面上把基础结构作为派生结构的第一个成员即可。例如,图 1.10 ( a )显示了通过把QEvent实例...原创 2018-12-27 08:39:04 · 364 阅读 · 0 评论 -
strcpy函数的实现
strcpy函数的实现 已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数 解释为什么要返回char * 假如考虑dst和src内存重叠的情况,strcpy该怎么实现1.strcpy的实现代码char * strcpy(char *dst,const char *src) //[1]{ assert转载 2017-10-31 20:49:44 · 333 阅读 · 0 评论 -
Eclipse快捷键
本文总结了Eclipse常用快捷键。分享给大家供大家参考,具体如下:1 几个最重要的快捷键代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2显示搜索对话框:Ctrl+H快速Outline:Ctrl+O打开资源:Ctrl+Shift+R打开类型:Ctrl+Shift+T转载 2017-10-13 16:33:19 · 203 阅读 · 0 评论 -
缝纫文件中的指针
1、 Swing.cpxExecutingBuffer = pxExecutingBufferGet(0, (TickType_t)portMAX_DELAY);// 执行缓存typedef struct xEXECUTING_BUFFER{ xListItem xBufferListItem; // 列表项目 uint8_t *pucExecuting原创 2017-08-15 17:08:23 · 259 阅读 · 0 评论 -
按键扫描C语言思路
按键扫描(支持连续按)的一般思路 u8 KEY_Scan(void) { if(KEY按下) { delay_ms(10);//延时10-20ms,防抖。 if(KEY确实按下) { return KEY_Value; } re原创 2017-08-02 09:18:14 · 7734 阅读 · 0 评论 -
C语言的五种存储类
五种存储类C Primer Plus 第十二章 存储类、链接和内存管理 存储类 时期 作用域 链接 声明方式 自动 自动 代码块 空 代码块内 寄存器 自动 代码块 空 代码块内,使用关键字register 具有外部连接的静态 静态 文件 外部 所有函数之外 具有内部连接的静态 静态 文件 内部 所原创 2017-08-02 10:24:57 · 2150 阅读 · 0 评论 -
C库字符串函数
头文件<string.h>strlen 用于统计字符串的长度strcat()(用于拼接字符串) 函数接受两个字符串作为参数。 该函数把第2个字符串的备份附加在第1个字符串末尾, 并把拼接后形成的新字符串作为第1个字符串, 第2个字符串不变。无法检查第1个数组是否能容纳第2个字符串。 如果分配给第1个数组的空间不够大, 多出来的字符溢出到相邻存储单元时就会出问题。strnca...原创 2019-06-05 13:50:44 · 466 阅读 · 0 评论