自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C进阶 1】 结构体

struct stu //定义结构体类型//名字int age;//年龄//身高这段代码什么意思呢?首先,我们先了解int。int是一种数据类型,相当于是只有一个特征的人(类型),因为int只能放下一个数据。int a;就是定义有一个叫a的只有一个特征的人。int a=20;就是说有a这个只有一个特征的人,他的特征——年龄是20岁。然后我们再来看这段代码,struct stu就是相当于一个有很多特征的人(类型),与int不同的是,我们用这个类型描述一个人,可以有很多描述方法,名字身高年龄等。

2023-07-12 21:37:56 82

原创 【C常识 5】 sizeof操作符详解和strlen

根据C99标准的规定,'a’叫做整型字符常量(integer character constant),为int型,故结果是4(对于32位机器);而ISO C++规定,'a’叫做字符字面量(character literal),为char型,故结果是1。C强调了’a’的“数”属性,而C++强调了’a’的“字符”属性。sizeof是C语言中的一个操作符,他不是一个函数,他可以去除后面的括号就说明了()。strlen是专门用来求字符串长度的函数。因为字符串是以0结尾的,所以strlen会一直找0,直到找到为止。

2023-07-11 23:07:06 82

原创 【C语言 6】 指针

上面这个代码,我们可以看到,虽然指针在64位系统中都是8字节,char型的指针的确能存下Int类型的地址,但是通过解引用时,int有4个字节,只有低位一个字节被改为0;上面这个代码,得出的结果是都是指针+1,不同的指针类型加1后的值不同,并不是简单的地址+1,地址+1是得到下一个地址,指针加1要看步数。我们要清楚的知道:数组名代表首元素地址,数组名加上[]代表是数据了,就不是地址了。指针类型决定了指针引用的权限由多大。指针类型决定了指针每走一步能走多远。-数组名是数组首元素的地址。

2023-07-10 22:22:33 84

原创 【C常识 1】 C的关键词

auto int x。

2023-07-09 22:35:54 66

原创 【C语言 4】 操作符

对于操作符,我们有些时候很难记清他们的操作符,比如+= *=的这种优先级很低,前置和后置++的优先级很高,只不过他的意图是先让你运用还是先让你++又或者a=1,(++a)+(++a)+(++a)的结果是不确定的,因为我们不知道到底先准备a还是先++,如果先准备a,那么所有a都相同,如果先++,a不同。我们上面说sizeof不参与运算,的确是的,他printf(“%u\n”, sizeof(1+c));我们知道,计算机里面存储数据的方式是以反码的形式进行存储,那么移位操作符就是移位计算机中反码的二进制位。

2023-07-08 22:44:16 36

原创 【C常识 6】 C语言的内存分配

C语言中编译后,主要把内存和ROM分为5个区,分别为栈区、堆区、全局/静态存储区、常量存储区、代码区。怎么理解这五个区呢?,我们可以想象一下,程序执行了int a=0;这个语句,这个语句是存在于代码区的,然后,获取到这条指令后,CPU在栈区开辟一块内存给这个变量使用栈区由程序自动执行到那里并开辟,地址是不确定的,也就是静态内存分配堆区是由程序员手动控制开辟的,地址可以是确定的,也就是动态内存分配。

2023-07-07 22:34:37 456

原创 【C语言 3】 数组和字符串

数组是C语言中用于存放一类数据的数据类型,顾名思义数组就是很多数的组合。形式:type(数据类型)+ 数组名 + [ ] = {数组元素}//1.数组的定义int main()//完全形式定义://定义一个整形数组,最多放10个元素//不完全数组1(元素不完全)://剩余的自动补0//不完全数组2(长度不完全)://自动确定数组长度是4//错误的数组定义形式//数组长度为变量int n = 5;//数组长度为常变量//常变量还是一个变量,只不过变成只读性。

2023-07-06 22:34:35 50

原创 【C语言 2】 基本数据类型

定义:int a=0;定义必须要初始化,不能重名,这是规范的处理整形变量:int a=0;浮点型常量:float b=0.1;字符变量:char c=‘A’;引用:a=10;

2023-07-05 22:11:50 51

原创 【C语言 1】 第一个C程序

【代码】【C语言 1】 第一个C程序hello world。

2023-07-04 22:24:54 56

原创 【必备知识 4】存储器

SDRAM是同步动态随机存储器,一般都是下降沿读取数据,但是升级的方式无非就是上升下降沿都读取或加高频率,采用上升下降沿的提升就是DDR和DDR2的升级。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。SSRAM(Synchronous Static Random Access Memory)是一种同步静态随机存储器,结合了SRAM和SDRAM的优点,既有SRAM快速读写的特点,又有SDRAM高速度、高带宽的特点,主要用于高性能应用中,如网络交换机、路由器等。

2023-07-04 21:30:44 99

原创 【必备知识 3】计算机基础

当今计算机技术的快速发展和广泛应用已经深刻地改变了我们的生活方式和工作方式。作为一名计算机基础知识的学习者,了解计算机基础知识是非常重要的。本博客将为您介绍计算机基础的一些核心概念和重要原理,帮助您建立起对计算机领域的基础了解。不论您是计算机专业的学生,还是对计算机技术感兴趣的非专业人士,本博客都将为您提供有价值的信息和知识。希望通过阅读本博客,您能够建立起对计算机基础知识的扎实理解,从而为以后的深入学习和实践打下坚实的基础。

2023-07-04 21:26:47 76

原创 【必备知识 2】Markdowm使用

md语法

2023-07-03 19:56:27 86

原创 【必备知识 1】Git分布式版本控制软件

版本:也就是同一文件/工程的不同形态,我们往往需要克隆文件进行修改,修改前和修改后的文件就是不同的版本问题1:以写程序为例子,在我们写程序时,我们有了一个模板工程后,根据这个模板工程进行代码修改(以下图为例),有的版本改着改着就崩了,有的改着改着就好了。这时候我们需要删除错误的版本,或者回退旧的版本,如何解决克隆复制删除这一不方便的版本管理操作呢?问题2:一个文件/工程不止被一个人修改,那么我们怎么处理协同呢?解决1:复制这个工程给不同的人去修改,最后整合。

2023-07-03 19:52:33 49

原创 三、keil_STM32工程的软件调试和硬件调试

选择Settings,进行调试硬件的配置。选择调试硬件运行至main。

2022-11-19 22:59:55 1426

原创 二、keil5_STM32文件各种配置和设置(代码提示、文件无法跳转、宏定义,printf重映射)

很多人printf重映射没有成功,使用printf函数的时候串口卡死不发送,就是因为没有勾选这个类似的微型库。

2022-11-18 22:47:09 4679

原创 一、keil工程的STM32文件详解和各种下载(BOOT)模式讲解及更换芯片

说明我们在下载程序时,下载到了flash但是选择启动的方式(地址)不对,程序不能运行。启动位置有三个地方:flash、ram、bios。BOOT1和BOOT0是选择启动位置的。主闪存存储器、内置SRAM、系统存储器。

2022-11-18 22:35:16 1777

原创 三、Gitee,Git工具的安装和使用

码云Gitee是开源中国社区在2013年推出的基于Git的代码托管服务,专为开发者提供稳定、高效、安全的云端软件开发协作平台,无论是个人、团队、或是企业,都能够用Gitee 实现代码托管、项目管理、协作开发,更有代码质量分析、项目演示等丰富功能等你体验。Gitee目前已经成为国内最大的代码托管平台,致力于为国内开发者提供优质稳定的托管服务,与GitHub类似区别在于码云国内,GitHub国外。

2022-10-04 21:07:16 1081

原创 [CUBE IDE学习日记]CUBE IDE新建工程和GPIO配置最详细的步骤(1)

CUBE IDE软件的新建工程和GPIO配置最详细的步骤

2022-09-24 21:56:44 1245 1

空空如也

空空如也

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

TA关注的人

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