C语言
大大U
大写F,ID去掉6,就能找到我!
展开
-
C语言数据结构拦路虎(五)-单链表的查,增,删
//输入字符,尾插法建立链表。$ 结束//头结点,数据域存储总的节点数Linklist * creat_node(){ Linklist *head,*p,*r; int i=0;//字符计数 char ch; ch=getchar(); r=(Linklist *)malloc(sizeof(Linklist)); head=r;...原创 2019-03-05 16:21:00 · 313 阅读 · 0 评论 -
C语言 使用gcc、gdb
gcc命令预处理阶段$ gcc -E hello.c -o hello.i编译阶段$ gcc -S hello.i -o hello.s汇编阶段$ gcc -c hello.s -o hello.o链接阶段$ gcc hello.o -o hello-g生成调试信息,GNU调试器可以利用该信息。gcc编译器使用该选项进行编译时,将调试信息加入目标文件当中,这样GDB...原创 2019-05-27 19:33:04 · 364 阅读 · 0 评论 -
TCC编译器
安装链接:https://pan.baidu.com/s/1WJNbtvJxabhOyA2eo6SaKw提取码:7ax2免安装,将里面的tcc.exe文件路径加入PATH环境变量记事本写个hellow world 体验一下,写完 test.c 在C文件路径下打开命令行(路径文件夹下,shift+右键)执行 tcc test.c#include <stdio.h> ...原创 2019-05-27 17:02:32 · 1516 阅读 · 0 评论 -
C语言数据结构拦路虎(二)-动态内存函数
为什么要使用动态内存分配C语言中一切操作都是基于内存的,变量和数组都是内存的别名,如何分配这些内存由编译器在编译期间决定,所以定义数组的时候必须指定数组长度,而数组长度是再编译器就必须决定了,但是,程序运行过程中,可能需要使用一些额外空间。所以就需要动态内存分配的支持。就一句话,C语言初始化都是固定分好了多大内存,突然我想多要一块地,就得使用这些函数。什么是动态内存的申请和释放?...原创 2019-03-02 20:25:08 · 170 阅读 · 0 评论 -
C语言数据结构拦路虎(九)-链队列
整文件:链接:https://pan.baidu.com/s/1hP_Tky2mhPs2ildpQHB74A提取码:9zdf复制这段内容后打开百度网盘手机App,操作更方便哦2019.03.19要复试了,先去看看stm32吧。...原创 2019-03-12 20:35:53 · 122 阅读 · 0 评论 -
C语言数据结构拦路虎-变量与内存
这篇文章不错:https://blog.csdn.net/wangjun_huster/article/details/694869561、变量C语言的规则是:变量必须先定义才能使用。对变量的定义其实就是请求计算机,让计算机将内存中的某个或几个单元分配给你定义的变量使用。把地址为2000的内存单元,起个名字叫“i”,怎么知道变量的地址值呢用&i。我又想到指针了,*a,a...转载 2019-03-11 14:24:32 · 213 阅读 · 0 评论 -
C语言数据结构拦路虎(八)-顺序队列
队列(queue),只允许一端插入,这端叫队头(front),另一端删除,这一端叫队尾(rear)。也是一种运算受限的线性表。其实和排队一样先进先出(First In First Out)。也分顺序队列和链队列,和栈差不多,只是思想不同,定义不同而已。结点定义:typedef struct{ datatype data[maxsize]; int front,rear;...原创 2019-03-11 14:22:54 · 240 阅读 · 0 评论 -
C语言实现卡尔曼之应用-陀螺仪与加速度计的融合
/************************************************************************************************/#include "stm32f10x.h"#include "filter.h"#include <stdio.h>/*****************************...原创 2019-03-14 14:15:00 · 2964 阅读 · 1 评论 -
C语言实现PID之应用
从代码中认识PID的应用电机转速PID控制。两份网上的工程代码。原理:PWM波控制电机转速,控制PWM波的高电平时间,即控制占空比来控制转速。都是增量式PID,需要三次误差值,这次测的误差,error,上次测的误差,pre_error,上上次测的误差,pre_pre_error转速是执行器的输出。输入你想要的转速(设定的转速)Setspeed,测量得到的转速,Now_spee...原创 2019-03-14 14:03:19 · 1464 阅读 · 1 评论 -
C语言实现PID之算法
首先,要知道,PID拿来干什么?我说说我的理解。好像一个漏水的水桶,高2米,我们要加水到1米。现在我们要往里面加水,那怎么加呢,每次加多少呢?又好比温室大棚,我们要控制这个温度到20度,大棚会导热散热,环境的影响,都会使温度发生变化,加热器怎么加热呢?这就用PID了。就拿漏水水桶加水来说吧。先看看PID系统长什么样。PID(proportion integration d...原创 2019-03-14 13:23:35 · 2178 阅读 · 0 评论 -
51单片机 软件模拟IIC
/*==========================================================================名称:IIC协议内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作一定的修改(本例是1us机器周期,即晶振频率要小于12MHZ)========================================...原创 2017-05-01 14:15:30 · 2795 阅读 · 0 评论 -
C语言数据结构拦路虎(七)-栈
栈(stack),先进后出(Last In First Out)LIFO其实就当做一个容器,如篮子,箱子,瓶子。放东西进去,先放的在瓶底,最后拿出来。后放的在瓶口,先取出来。(一)顺序栈先看定义吧typedef int datatype //栈的数据类型#define maxsize 64 //栈的大小typedef struct{ datatype data[max...原创 2019-03-06 16:14:00 · 244 阅读 · 0 评论 -
C语言数据结构拦路虎-遇到的问题
问题一、描述:在创建顺序栈时,在stack.c定义一个函数用于创建顺序栈,把栈置空,在添加一个元素进栈//创建一个栈seqstack * Creat_stack(){ seqstack s,*p; //创建一个栈 p=&s; p->top=-1; return p;}在main.c里主函数调用,创建一个栈,Push函数将3进栈#include<st...原创 2019-03-06 13:56:11 · 308 阅读 · 0 评论 -
C语言数据结构拦路虎(三)-首插法单链表的理解
如果对代码的一些函数或者概念不清楚请读前面两节定义一个节点,包括数据data,指针nexttypedef struct node{ datatype data; struct node *next;}Linklist;Linklist *head,*p;理解指针 next!!!一定要调试,可以画画图,标出地址,起新名字。这样更好理解1、next,head...原创 2019-03-03 10:05:42 · 421 阅读 · 0 评论 -
C语言数据结构拦路虎(四)-尾插法单链表的理解
这篇感觉叙述有点乱,最好自己调试一下,把地址,结构图,画一下。首插法虽然简单,但节点的次序和输入的顺序相反。若要顺序一致则可以采用尾插法。若要理解,还是要写代码,看内存啊,文章真是没法描述。#include <stdio.h>#include"3.h"//尾插法#define datatype inttypedef struct node{ dataty...原创 2019-03-03 15:15:35 · 539 阅读 · 0 评论 -
C语言 问题(逻辑运算和位运算,文件操作)
C语言中!代表的是非,~代表的是取反!是逻辑运算符,真或假,1或0.逻辑取反,0或非0~一般是用于设置标志位,对于整形变量,对每一个二进制位进行取反,0变1,1变0。&和&&都是“与”运算&是按位,例如3&2的结果是2,过程如下:3&2=0111&0010=0010=2&&是逻辑...原创 2019-05-27 19:56:03 · 440 阅读 · 0 评论