03 2024 档案

摘要:✨✨所属专栏:C语言✨✨ ✨✨作者主页:嶔某✨✨ 在ANSIC的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。 第2种是执⾏环境,它⽤于实际执⾏代码 翻译环境 那翻译环境是怎么将源代码转换为可执⾏的机器指令的呢?这⾥我们就得展开开讲 阅读全文
posted @ 2024-03-30 16:44 QinMou~ 阅读(12) 评论(0) 推荐(0)
摘要:✨✨作者主页:嶔某✨✨ 程序员35岁会失业吗? 35岁被认为是程序员职业生涯的分水岭,许多程序员开始担忧自己的职业发展是否会受到年龄的限制。有人担心随着年龄的增长,技术更新换代的速度会使得资深程序员难以跟上;而另一些人则认为,丰富的经验和深厚的技术积累是年轻程序员无法比拟的宝贵财富。 方向一:技术更 阅读全文
posted @ 2024-03-30 15:55 QinMou~ 阅读(17) 评论(0) 推荐(0)
摘要:目录 为什么会有文件? 文件名 ⼆进制⽂件和⽂本⽂件? ⽂件的打开和关闭 流 标准流 ⽂件指针 ⽂件的打开和关闭 顺序读写函数介绍 对⽐⼀组函数: 文件的随机读写 fseek ftell rewind ⽂件读取结束的判定 被错误使⽤的 feof ⽂件缓冲区 为什么会有文件? 如果没有⽂件,我们写的程 阅读全文
posted @ 2024-03-30 00:41 QinMou~ 阅读(4) 评论(0) 推荐(0)
摘要:源码在这里,需要自取: 13.2 DS18B20温度报警器 · 钦某/51project - 码云 - 开源中国 (gitee.com) 先看演示视频: 51温度报警演示视频 我们先来了解DS18B20 我们看到总共有三个接口,gnd是接地,vcc接5v。在DS18B20手册上Vcc标的是Vdd。 阅读全文
posted @ 2024-03-25 16:28 QinMou~ 阅读(14) 评论(0) 推荐(0)
摘要:1. 字符指针变量 字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char*,我们一般这样使用: int main() { char* cp1 = NULL; char str = "hello world"; cp1 = &str; /*********************/ 阅读全文
posted @ 2024-03-23 23:12 QinMou~ 阅读(14) 评论(0) 推荐(0)
摘要:目录 free malloc calloc realloc 常见的动态内存的错误 1.对NULL指针的解引⽤操作 2.对动态开辟空间的越界访问 3.对⾮动态开辟内存使⽤free释放 4.使⽤free释放⼀块动态开辟内存的⼀部分 5.对同⼀块动态内存多次释放 6.动态开辟内存忘记释放(内存泄漏) 下面 阅读全文
posted @ 2024-03-23 00:45 QinMou~ 阅读(5) 评论(0) 推荐(0)
摘要:1.语言结构体类型 结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 声明 struct tag { member-list; }variable-list; 例如声明一本书: struct Book { char name[20]; //书名 char author[2 阅读全文
posted @ 2024-03-19 23:22 QinMou~ 阅读(15) 评论(0) 推荐(0)
摘要:1. 整数在内存中的存储 整数的2进制表⽰⽅法有三种,即原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最 ⾼位的⼀位是被当做符号位,剩余的都是数值位。 正整数的原、反、补码都相同。负整数的三种表⽰⽅法各不相同。 原码:直接将数值按照正负数的 阅读全文
posted @ 2024-03-17 15:27 QinMou~ 阅读(10) 评论(0) 推荐(0)
摘要:strncpy: //模拟实现strncpy char* my_strncpy(char* str1,const char* str2,size_t num) { assert(str1&&str2); char* tmp = str1; while ((*str1++ = *str2++) && 阅读全文
posted @ 2024-03-15 22:24 QinMou~ 阅读(6) 评论(0) 推荐(0)
摘要:✨✨所属专栏:嵌入式开发✨✨ ✨✨作者主页:嶔某✨✨ 后加内容: 源代码:9.2LED点阵屏显示动画 · 钦某/51project - 码云 - 开源中国 (gitee.com) 如果想直接烧录到单片机请下载资源绑定中的文件 我们作为一名合格的 ikun,专业的小黑子,这个重要的知识必须学会。 先看 阅读全文
posted @ 2024-03-15 19:14 QinMou~ 阅读(165) 评论(0) 推荐(0)
摘要:数组名的理解 还记得上一篇博客出现了这么一段关于用指针访问数组的代码。 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int *p = &arr[0]; 这里用&arr[0]拿到了数组首元素的地址,但其实数组名在大部分情况下本来就是首元素的地址 #include <st 阅读全文
posted @ 2024-03-10 23:56 QinMou~ 阅读(5) 评论(0) 推荐(0)
摘要:其实数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外: • sizeof(数组名),sizeof中单独放数组名,这⾥的数组名表示整个数组,计算的是整个数组的⼤⼩, 单位是字节 • &数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的) 阅读全文
posted @ 2024-03-10 23:22 QinMou~ 阅读(19) 评论(0) 推荐(0)
摘要:1.内存和地址 我们知道电脑中的CPU在处理数据的时候需要在内存中读取数据处理后的数据也会放在内存中。把内存划分为一个个的内存单元每个单元的大小是一个字节。每个字节都有它对应的编号也就是它的地址,以便CPU可以快速的找到一个内存空间。C语言中我们把地址叫做指针,所以内存单元的编号==地址==指针。 阅读全文
posted @ 2024-03-09 18:23 QinMou~ 阅读(113) 评论(0) 推荐(0)
摘要:模拟实现strlen 三种方法 size_t my_strlen(char* s)//计数器 { size_t count = 0; while (*(s++)) count++; return count; } size_t my_strlen(char* s)//递归 { if (*s == ' 阅读全文
posted @ 2024-03-09 18:03 QinMou~ 阅读(10) 评论(0) 推荐(0)
摘要:✨✨所属专栏:数据结构✨✨ ✨✨作者主页:嶔某✨✨ 概念: 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表的本质就是数组,动态增长,并且要求里面存储的数据必须是从左往右连续的。逻辑结构与物理结构是一致的。 它分为静态顺序表( 阅读全文
posted @ 2024-03-06 17:47 QinMou~ 阅读(8) 评论(0) 推荐(0)
摘要:本博客记录一下我在力扣的刷题过程 如果有什么错误,欢迎指出,如果对你有帮助,请点个赞,谢谢 第一题: 这道题只需要把所有数异或起来就行了。 int singleNumber1(int* nums, int numsSize) { int root = 0; for (int i = 0; i < n 阅读全文
posted @ 2024-03-04 13:09 QinMou~ 阅读(4) 评论(0) 推荐(0)
摘要:目录 sizeof: strlen: 总结区别: sizeof: 首先我要在此声明sizeof不是函数!不是函数!不是函数!而是一个操作符!(看到operator了吗?) #include<stdio.h> int main() { int a = 1;//sizeof不会读取数据,只会计算所占内存 阅读全文
posted @ 2024-03-03 21:12 QinMou~ 阅读(70) 评论(0) 推荐(0)
摘要:qsort()函数是以快速排序为基础并且可以将任何类型的数据以你想要的方式进行排序。 在C++官网cppreference.com上可以找到以上结果,翻译过来就是使用qsort要包含<stdlib.h>文件。 这个函数有四个参数qsort(void * base , size_t num, size 阅读全文
posted @ 2024-03-02 21:51 QinMou~ 阅读(14) 评论(0) 推荐(0)
摘要:工具: 这里可以用的语言有C,C++还有汇编,我用的是对于初学者比较友好的C语言。 编译软件我用的是Keil uVision5,烧录用的是STC—ISP。 本博客只提供了部分代码,如果需要完整代码请前往钦某/51project - 码云 - 开源中国 (gitee.com) 函数及模块: 1.延迟函 阅读全文
posted @ 2024-03-01 17:52 QinMou~ 阅读(13) 评论(0) 推荐(0)