![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
小朋友你怎么有那么多
吃货眼睛仔
展开
-
卡尔曼滤波
简单嵌入式的卡尔曼滤波 // 有4个传感器 float x_last[4] = {0}; float p_last[4] = {0.02,0.02,0.02,0.02}; float Q = 0.018; float R = 0.542; float kg; float x_mid; float x_now; float p_mid; float p_now; void Kalman_filtering_init(float*z_real,unsigned char n原创 2021-11-08 16:10:04 · 87 阅读 · 0 评论 -
安全问题和指针误用
不恰当的指针声明 int * ptr1,ptr2; //第一个是int*,第二个是int型 int * ptr1,* ptr2;//两个都是int* #define PINT int* PINT ptr1,ptr2; //第一个是int*,第二个是int typedef int* PINT; //定义为类型 PINT ptr1,ptr2; //第一个和第二个都是int*型 ...原创 2021-05-21 18:07:16 · 63 阅读 · 0 评论 -
指针和数据结构
链表 单链表 //一个结点 typedef struct node{ void*data; struct node*next; } Node; //链表,持有头节点、尾结点及当前结点 typedef struct link_list{ Node* head; Node* tail; Node* current; }LinkedList; 在使用链表之前要先初始化: void init_list(LinkedLi原创 2021-05-19 17:33:26 · 196 阅读 · 0 评论 -
指针和结构体
结构体的两种声明方式 利用struct关键字声明: struct heheda { char*firstname; char*lastname; char*title; unsigned int age; }; 利用type声明 typedef struct heheda { char*firstname; char*lastname; char*title; unsigned int age; }HEHEDA; 实例化 HEHEDA he; 声明一个HEHEDA的指针原创 2021-05-15 11:01:50 · 119 阅读 · 0 评论 -
指针和字符串
字符串基础 字符串是以ASCII字符NUL结尾的字符序列,ASCII字符NUL表示为\0。字符串的长度是字符串中除了NUL字符之外的字符数。 字符串初始化 初始化char数组 //字符串初始化 //初始化操作会把字符复制到数组里面,以\0结尾。 char header[]=“Media Player"; //利用strcpy初始化 char header[13]; strcpy(header,“Media Player"); //把字符逐个赋给数组元素 header[0]='M'; ..........原创 2021-05-14 15:56:57 · 68 阅读 · 0 评论 -
指针和数组
误区 数组名字有时候可以当做指针来用,但数组的名字不是指针,尽管数组使用自身的名字可以返回数组地址,但是名字本身不能作为赋值操作的目标。原创 2021-05-11 20:06:44 · 64 阅读 · 0 评论 -
指针和函数
通过指针传递和返回数据 要在某个函数里面修改数据,要用指针传递数据。 void swap(int* a,int *b) {..............} 通过传递一个指向常量的指针,可以防止数据被修改。 void swap(int const* a,const int *b) {..............} 返回指针。 int * test(int size,int value) { int * arr=(int *)malloc(size*sizeof(int)); f原创 2021-05-10 11:26:06 · 69 阅读 · 0 评论 -
C语言动态内存管理
动态内存分配 基本步骤: 用malloc类的函数分配内存; 用这些内存支持运用; 用free函数释放内存,防止内存泄漏; //申请一个Int空间 int * pi=(int*)malloc(sizeof(int)); *pi=5; //使用空间 printf("*pi:%d",*pi); free(pi); 内存泄漏 原因: 丢失地址 pi指针重复赋值,致使丢失前面的内存地址。 int * pi=(int*)malloc(sizeof(int)); //丢失 ....... int * p原创 2021-05-08 14:19:40 · 196 阅读 · 0 评论 -
认识C指针
指针和内存 内存分为: 静态、全局内存(全局变量和静态变量) 自动内存(栈) 动态内存(堆) 声明指针 int * pi; //指针要初始化后,才可以正常工作 阅读指针小技巧 倒过来读 const int * pi; /** pi---是一个变量 *pi---是一个指针变量 int*pi--是一个指向整数的指针变量 const int * pi;--是一个指向整数常量的指针变量 地址操作符 num=0; pi=# 打印指针的值 格式说明符 含义 %x 16进制显示原创 2021-05-08 11:12:13 · 52 阅读 · 0 评论