自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 STM32配置时钟

TIM_TIxExternalClockConfig //选择TIx捕获通道的时钟,第一个TIMx选择定时器,第二个TIxExternalCLKSource,选择TIx具体的某个引脚,接着还有两个参数ICPolarity和ICFilter,输入的极性和滤波器,对于外部引脚的波形,一般都会有极性选择和滤波器,这样更灵活一些。TIM_ETRClockMode1Config //选择ETR通过外部时钟模式1输入的时钟,ExtTRGPrescaler,外部触发预分频器,这里可以对ETR的外部时钟再提前做一个分频。

2023-05-06 08:32:08 336

原创 结构体用法

用途:用一个字符串代替一个数字,便于理解,防止出错,提取程序中经常出现的参数,便于快速修改。用途:定义一个取值受限制的整形变量,用于限制变量的取值范围;//等效于int a = 12345;//等效于unsigned char a;因为结构体变量类型较长,所以通常用typedef更改变量类型名。因为枚举变量类型较长,所有通常用typedef更改变量类型名。用途:将一个比较长的变量类型名换个名字,便于使用。用途:将一个比较长的变量类型换个名字,便于使用。关键字:typedef。

2023-05-06 08:29:59 94

原创 SMTM32 C语言 库函数

用途:用一个字符串代替一个数字,便于理解,防止出错,提取程序中经常出现的参数,便于快速修改。用途:定义一个取值受限制的整形变量,用于限制变量的取值范围;//等效于int a = 12345;//等效于unsigned char a;因为结构体变量类型较长,所以通常用typedef更改变量类型名。因为枚举变量类型较长,所有通常用typedef更改变量类型名。用途:将一个比较长的变量类型名换个名字,便于使用。用途:将一个比较长的变量类型换个名字,便于使用。关键字:typedef。

2023-05-06 08:27:28 93

原创 sscanf高级用法

/跳过1234,然后隔一个空格获取字符串。sscanf高级用法。}//结果为5678。

2023-05-03 21:31:35 524

原创 STM32 OLED驱动函数

2023-05-03 10:04:12 59

原创 strtok函数

char* p[6];//指针数组的第五号元素要接受NULL值,必然会造成内存污染。以下为我们手机收到短信的形式,请利用指针数组与strtok函数对其解析。参数2:指针数组:存放切割完字符串的首地址。参考以下的函数名字以及参数,完成相应的要求。手机号:13466630259。待切割字符串的首地址。返回值:切割的字符串总数量。日期:98/10/01。时间:ABCdefGHI。}/*结果num = 5。

2023-04-30 23:53:25 37

原创 strrchr函数

函数定义:char* strrchr(const char* s, int c);printf("没有您要找的字符\n");找到了:末次匹配的字符的地址。函数的说明:末次匹配。找不到:返回NULL。

2023-04-29 22:58:46 370

原创 strchr函数

注意:是首次匹配,如果说s指向的字符串中有多个ASCII为c的字符,则找的是第一个字符的返回值;函数定义:char* strchr(const char* s, int c);在字符指针s指向的字符串,找ASCII码为c的字符。头文件:#include <string.h>找到了返回找到的字符的地址,找不到返回NULL。printf("没有您要找的字符\n");

2023-04-29 22:54:21 249

原创 strtok函数

其实就是在str指向的字符串中发现了delim字符串中的字符,就将其变成'\0' 调用一次strtok只切割一次,切割一次后,再去切割的时候strtok的第一个参数传NULL,意思是接着上次切割的位置继续切。char str[100] = "xiaoming:21,,,.男.女,北京:haidian";}/*str = xiaoming:21, , , .男.女, 北京 : haidian。//结果str=xiaoming:21,,,.男.女,北京:haidian。//字符串切割函数/*

2023-04-29 22:40:43 62

原创 字符串转换数值atoi/atol/atof

返回值: 转换后的整数,此值由将输入字符作为数字解析而生成。如果该输入无法转化为该类型的值,则atoi的返回值为0。函数的声明:int atoi(const char*nptr);函数的功能: 将nptr指向的字符串转化成整数,返回。头文件 :#include <stdlib.h>/*字符串转换数值atoi/atol/atof。}//结果num=123 num=0。

2023-04-29 22:36:22 78

原创 memset函数

memset函数是将ptr指向的内存空间的num个字节全部赋值为value。num:确定将ptr所的内存中的num个字节全都用value代替。结果:str=helloworld str=aaaaaworld。参数: ptr:指向任意类型的指针,即指向我们需要修改的内存。value:给ptr指向的内存空间的赋的值。目的内存的首地址,即ptr的值。

2023-04-28 23:21:53 31

原创 strstr函数

函数说明:在haystack指向的字符串中查找needle指向的字符串,也是首次匹配。printf("没有你要查找的字符串\n");找到了:找到的字符串的首地址。没找到:返回NULL。

2023-04-28 23:19:44 28

原创 strncmp函数

printf(“str1指向的字符串前五个字符和str2指向的字符串的前五个字符相等\n”);printf(“str1的前五个字符大于str2前五个字符\n”);printf(“str1的前五个字符小于str2前五个字符\n”);函数说明:比较s1和s2指向的字符串中的前n个字符。

2023-04-26 11:43:33 165

原创 strcmp函数

函数说明:比较s1和s2指向的字符串的大小,比较方法:逐个字符去比较ascll码,一旦比较出大小返回。函数声明:int strcmp(const char*s1,const char*s2);printf(“str1指向的字符串大于str2指向的字符串\n”);printf(“str1指向的字符串小于str2指向的字符串\n”);如果·s1指向的字符串小于s2指向的字符串 返回-1。如果·s1指向的字符串大于s2指向的字符串 返回1。else printf(“两个字符串相等\n”);

2023-04-26 11:22:36 1484

原创 strncat函数

注意如果n大于src的字符个数,则只将src字符串追加到dest指向的字符串的后面。追加src指向的字符串的前n个字符,到dest指向的字符串的后面。}//结果为:aahel验证了会追加'\0'*/追加的时候会追加'\0'

2023-04-24 21:26:25 93

原创 strcat函数

函数功能:strcat函数追加src字符串到dest指向的字符串的后面。追加的时候会追加'\0'函数声明:char*strcat(char*dest,const char*src);}//结果是aahello验证了追加字符串的时候追加'\0'头文件:#include <string.h>注意:保证dest指向的内存空间足够大。//strcat函数。

2023-04-24 21:26:16 51

原创 strncpy函数

2. 2.如果n大于str指向的字符串中的字符个数,则在dest后面填充n-strlen(srt)个’\0’结果为helloaaaaaaaaaaaaaaaaaaaaaa验证了不拷贝’\0’;将str指向的字符串前n个字节,拷贝到dest指向的内存中。1. strnpy不拷贝’\0’返回值:目的内存的首地址。

2023-04-20 23:43:15 151

原创 【无标题】strcpy函数

函数的声明:char*strcpy(char*dest,const char*src);注意:在使用此函数的时候,必须保证dest指向的内存空间足够大,否则会出现内存污染。#pragma warning(disable:4996)//见前篇文章。拷贝src指向的字符串到dest指针指向的内存中,‘\0’也会拷贝。头文件:#include <string.h>函数的返回值:目的内存的地址。

2023-04-20 23:26:39 26

原创 【无标题】Strlen函数

pragma warning(disable:4996)在c文件开始处写上这句话,及告诉编译器忽略4996警告,strcpy,scanf等一些不安全的标准c库函数在vs中可以用了。Strlen 是个库函数,它测的是字符指针指向的字符串中字符的个数,不管指针是数组的名字还是变量。如果·sizeof测的是指针变量,则测的是指针变量本身占几个字节,32平台下的结果为4。函数功能:测字符指针s指向的字符串中字符的个数,不包括‘\0’如果·测量的是数组的名字,则测的是数组占多少个字节。返回值:字符串中字符个数。

2023-04-19 23:38:34 83

原创 内存泄露的概念

/p指向别的地方了,从此以后,再也找不到你申请的100个字节了,则动态申请的100个字节就被泄露了。申请的内存,首地址丢了,找不了,再也没法使用了,也没法释放了,这块内存就被泄露了例1.p =(char *)malloc(100);//接下来可以用p指向的内存了。//接下来,可以用p指向的内存了。//接下来,可以用p指向的内存了。//接下来,可以用p指向的内存了。总结:申请的内存,一定不要把首地址丢了,在不用的时候一定要释放内存。//可以通过q使用 .动态申请的100个字节的内存了。

2023-04-18 19:18:14 55 1

原创 【无标题】realloc函数

函数的功能:在原先s指向的内存基础上重新申请内存,新的内存的大小为new_size个字节,如果原先内存后面有足够大的空间就追加,如果后面的内存不够用,则realloc函数会在堆区找一个newsize个字节的大小的内存申请,请将原先内存中的内存拷贝过来,然后释放原先的内存,最后返回新内存的地址如果newsize比原先的内存小,则会释放原先内存的后面的存储空间,只留前面的newsize个字节返回值,新申请的内存的首地址。//p指向的内存的新的大小为50个字节,100个字节的后50个字节的存储空间就被释放了。

2023-04-18 18:48:44 74 1

原创 free函数

注意:1.free后,因为没有给p赋值,所以p还是指向原先动态申请的内存,但是内存已经不能再用了,p变成了野指针1。注意ptr指向的内存必须是malloc calloc relloc 动态申请的内存。2.一块动态申请的内存只能free一次,不能多次free。函数定义:void free(void *ptr)函数说明:free函数释放ptr指向的内存。头文件:#include<stdlib>free函数(释放内存函数)

2023-04-16 17:09:54 1254

原创 malloc函数

功能说明:在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域,用来存放类型说明符指定的类型。函数原型返回void*指针,使用时必须用相应的强制类型转换,分配的内存空间内容不确定,一般使用memset初始化。2.如果多次malloc申请内存,第一次和第二次申请的内存不一定是连续的。注意 1.在调用malloc之后,一定要判断一下,是否申请内存成功。printf("请输入你要申请的int数组的元素个数\n");

2023-04-16 16:41:01 135 1

OSPF-LAB-1.topo

OSPF-LAB-1.topo

2022-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除