
C
小虎是小蜗牛
小白在学习,记录技术成长
展开
-
简易的文件传输系统
参考书本做了一个简易的文件传输系统,对网络编程,文件操作进行复习。系统调用socket头文件 #include <sys/socket.h> #include <sys/types.h> 原型 int socket(int domain,int type,int protocol) 参数 domain:网络程序所在的主机采用的通用协议簇(AF_UNIX、AF_INET等)AF_UNIX只能够用于单一的UNIX系统进程间通信,而AF_原创 2020-06-27 23:15:02 · 2496 阅读 · 0 评论 -
记一次,stm32 中malloc失败,程序还正常运行,粗心的错误
今天调试工程的时候,发现malloc分配失败,看了一下自己得堆空间绝对充足可以看到.s启动文件中我的堆大小4K,对于自己分配的空间绝对够用遇到的问题,没有发生handfault error,只是不能开辟空间了,整得一度怀疑片子的问题在调试过程中,前两次开辟空间均正常,第三次开辟空间失败最终找到问题,因为自己写代码太粗心,看官能发现下面的错误吗? ...原创 2020-03-25 22:01:48 · 1028 阅读 · 0 评论 -
stm32按键 长按 短按 函数 二
在学习过程中,遇到了要使用很多个按键的情况,(没有同时按下的处理,没有用矩阵键盘)。一增加一个新按键,需要改动的地方太多,在网上看了一篇博客https://blog.youkuaiyun.com/jiejiemcu/article/details/83097992觉得它使用的方法不错,就进行学习研究,移植到stm32单片机上。这种编程思想值得学习,做个小总结。typedef struct but...原创 2019-11-30 22:57:21 · 3822 阅读 · 4 评论 -
Cjson 函数说明与使用
了解Cjson的函数使用说明,首先需要获取Cjson的源文件https://sourceforge.net/projects/cjson/相应的函数进行说明/* Supply a block of JSON, and this returns a cJSON object you can interrogate. Call cJSON_Delete when finished. */...原创 2019-03-31 22:31:51 · 3340 阅读 · 1 评论 -
内存中堆,栈,静态,常量,代码区
在学习过程中有用到malloc和free函数,这两个函数是程序员用来操作堆空间的函数,比较好奇,想弄明白堆栈之间的差别,以及在程序中都是如何体现的。相关优劣性,学习了相关的知识,做一下学习笔记。栈区(stack)— 由编译器自动分配释放 ,不会出现碎片问题,存放函数的参数值,局部变量的值等。栈的大小可以设置,设置的较大,可能增加内存的开销和启动时间。它的生长方向是向下的,是向着内存地址减小的...原创 2018-12-23 16:50:17 · 235 阅读 · 0 评论 -
插入排序和希尔排序算法学习
在以前的学习过程只学习过冒泡排序和快速排序。自己又通过在网络的学习,记录学习一下,插入排序和希尔排序插入排序,相关动图显示,可以帮助理解#include <stdio.h>#define MAXSIZE 15 //一个用作示例的小顺序表的最大长度#define LT(a,b) ((a)<(b)) #define LQ(a,b) ((a)&...原创 2018-12-16 21:45:44 · 1060 阅读 · 0 评论 -
数据结构树的学习
数据结构树的学习,编写代码,并测试,学习一下递归的思想#include <stdio.h>#include <stdlib.h>typedef int ElemType;//数据类型typedef int Status; typedef struct BiTNode{ ElemType data; struct BiTNode *lChild,*rCh...原创 2018-12-09 23:06:10 · 282 阅读 · 0 评论 -
数据结构栈的学习
数据结构栈的学习,记录下代码,供以后开发用#include <stdio.h>#include <stdlib.h>#include <malloc.h> // 定义一个节点的结构typedef struct node{ int member; //数据域 struct node * pNext;//...原创 2018-12-09 22:34:28 · 171 阅读 · 0 评论 -
数据结构的队列c语言代码实现
学习数据结构,整理一些相关程序,通过测试#include<stdio.h>#include<stdlib.h>#define QUEEN_SIZE 50typedef struct SeqQueue{ int data[QUEEN_SIZE]; int front; int rear;}Queue;Queue *initQueu...原创 2018-11-25 20:31:38 · 602 阅读 · 0 评论 -
局部变量和全局变量,以及作用范围
在写工程文件的时候,犯了一个基础性的错误,基础不牢,地动山摇。所以通过查阅资料回顾了一些相关知识,并记录下来。防止以后再发生这种惨案。变量按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。变量按作用域分: 全局变量:在整个工程文件内都有效;“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。由于同一文...原创 2018-11-11 13:56:55 · 44200 阅读 · 2 评论 -
stm32按键 长按 短按 函数 一
在stm32工程中,长按和短按的代码书写,调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。#define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1#define KEY_LONG 10#define SHORT_TIME 20...原创 2018-11-04 00:48:27 · 21753 阅读 · 20 评论 -
C语言中的指针基础定义
数组指针 int(*p)[4]:指向数组的一个指针。指针数组 int *p[4] :存放指针的数组。函数指针 int (*p)(int):指向函数的指针。指针函数 int *p(int) : 是一个函数,返回值为一个指针的类型。函数指针数组 int *p[10](int) 是一个数组,存放的都是指针函数。结构体指针:struct STUDENT student1; /*用s...原创 2018-10-12 20:30:06 · 212 阅读 · 0 评论 -
C语言封装函数遇到的问题
主函数中定义的数组buf_1[20]; 在主函数中直接使用以下函数可以使用,通过正常。函数封装后,直接在主函数调用时出现问题,OLED 数据显示不完整调试过后,发现自己对sizeof用法,理解错误,在封装之后传来的数组,sizeof测得只是数据类型char的大小,而非像主函数一样,测得整个数组的大小。修改或后,就一切正常了细节决定成败。 ...原创 2018-08-23 15:50:33 · 1547 阅读 · 0 评论