![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 58
蒙蒂锅巴
这个作者很懒,什么都没留下…
展开
-
嵌入式常见的结构体函数指针注册、嵌套结构体初始化,rt_thread中的函数注册技巧
在一些嵌入式的单片机开发当中经常遇到一些结构体内嵌函数指针的用法;指针变量名)(形参列表);第一个括号一定不能少。“函数类型”说明函数的返回类型,由于“()”的优先级高于“”,所以指针变量名外的括号必不可少;原创 2022-09-02 19:26:23 · 1577 阅读 · 0 评论 -
嵌入式linux开发板USB功能测试 Sigmstar星辰科技SD222D
一、内核配置首先需要配置内核,进入kernel文件夹,执行指令make menuconfig进入图形化界面Devices Drivers—>[*]USB supprot---->[M]USB Gadget Support ---->[M] USB Gadget Drivers[M] Serial Gadget (with CDC ACM and CDC OBEX support)保存到.config文件,我用的是sigmarstar的222D板子,内核装载的时候,先默认保存原创 2022-02-17 16:00:04 · 2152 阅读 · 2 评论 -
构造函数初始化
转载:https://blog.csdn.net/qq_16445683/article/details/485176391、构造函数初始化列表和构造函数体内赋值class Animal{public: Animal(int weight,int height): //A初始化列表 m_weight(weight), m_height(height) { } Animal(int weight,int height) /原创 2021-06-02 17:47:32 · 954 阅读 · 0 评论 -
md5 C源码-参考官方源码,依据https://github.com/ARMmbed/mbedtls/releases
做项目用到MD5的算法,网上找了一下,不是有bug就是压根无法用,故从官方源码拷贝下来;官方地址:https://github.com/ARMmbed/mbedtls/releases不过官方的源码包含很多其他的加密,需要从中找出需要的MD5;注意,下面的程序是计算32位的MD5,如果需要16位的MD5,只需要将算出来的结果从第9位到第24位截取出去,即是16位的MD5结果!C源文件:md5.c#include "md5.h"#include <string.h>#include原创 2021-04-19 17:45:45 · 2313 阅读 · 0 评论 -
乐鑫ESP32 https post请求
项目中遇到关于https的应用,例程中只有关于https的get,没有post,原以为只需要简单改动一下就能使用,但是实际调试过程中,发现不能用。 原例程是参照https_request_example_main.c文件中https getvoid app_main(void){ ESP_ERROR_CHECK( nvs_flash_init() ); ESP_ERROR_CHECK(esp_netif_init()); ESP_ERROR_CHECK(esp_event_l原创 2021-04-09 16:02:22 · 9318 阅读 · 13 评论 -
UrlEncode C源码
int UrlEncode(const char *str, char *result, const int max_length){ int i; int j = 0; char ch; int strSize = strlen(str); if ((str == NULL) || (result == NULL) || (strSize <= 0) || (max_length <= 0)) { return 0;原创 2021-04-08 16:28:35 · 509 阅读 · 0 评论 -
字符数组和字符指针做形参(字符型指针)
一、字符数组做形参有时候我们需要通过调用一个函数实现对一个传入的数组进行赋值,从而改变其值。当字符数组本质是上也是指针。 void change(char p[]) { strcpy(p, "efgh"); //p[0] = 'e'; //p[1] = 'r'; }int main (int argc, const char * argv[]) { char buf[] = "abcd"; change(buf); printf(buf); return 0;}这个就是字原创 2021-04-06 13:40:03 · 4418 阅读 · 3 评论 -
char *p =new char[10];
char p =new char[10]意思申请一块10个char类型数组的内存,并将该块内存的首地址赋给定义的char类型的指针p;等价于char p;p=new char[10];此时对数组赋值的时候,可以使用两种用法,等同于数组名的用法:1.p[0]~p[9];直接赋值2.(p+0),(p+3),等。需要注意的是,一旦使用了第二种方式对p进行了操作,不可以再使用第一种方式赋值。例如p++;之后再p[6]=‘a’;等等赋值,此时的p其实对应的地址已经不是首地址了,所以p[6]=‘a’;原创 2020-07-23 17:45:46 · 1952 阅读 · 0 评论 -
整形指针做形参和实参一级指针和二级指针的传递关系(整形)
一、二级指针做形参,一级指针的地址做实参#include<stdio.h> void A(int** t) { int x = 3; printf("A:t: %x\n\n", t); printf("A:&t: %x\n\n", &t); printf("A:*t: %x\n\n", *t); printf("A:&(*t): %x\n\n", &(*t)); printf("A:**t: %x\n\n", **t); pr原创 2020-07-15 14:45:07 · 981 阅读 · 0 评论