嵌入式
文章平均质量分 75
浮生念扶桑
这个作者很懒,什么都没留下…
展开
-
嵌入式学习第十八天
51单片机是基于Intel的微处理器体系结构发展而来的。主要由CPU、存储器、定时器/计数器、串行口等模块组成优点:低功耗、低成本、高性能开发工具Keil C51(支持汇编语言和C语言编程)外设接口:I/O口、串行口、ADC接口。原创 2024-02-03 19:15:44 · 406 阅读 · 1 评论 -
嵌入式学习第十七天
C语言小项目:制作俄罗斯方块小游戏项目成果原创 2024-02-02 18:51:36 · 898 阅读 · 0 评论 -
嵌入式学习第十六天
C语言小项目:制作俄罗斯方块小游戏第一天项目成果原创 2024-02-01 17:54:27 · 353 阅读 · 1 评论 -
嵌入式学习第十五天
一、内存管理: 1.malloc 2.free二、链表原创 2024-01-31 19:08:49 · 840 阅读 · 0 评论 -
嵌入式学习第十四天
(1)结构体类型定义(2)结构体变量的定义(3)结构体元素的访问(4)结构体的存储: 内存对齐: char 按照1字节对齐 short 按照2字节对齐 int 按照4字节对齐 double 按照4字节对齐 结构体整体的大小必须为最大基本类型长度的整数倍(5)结构体作为函数参数 练习:定义一个学生的类型,封装一个函数GetStuInfo获得学生信息原创 2024-01-30 18:52:25 · 1400 阅读 · 1 评论 -
嵌入式学习第十三天
(1)const指针const 关键字 常量(只读)1和2是等价的const修饰 *p,指针变量p的值可以改变,但不能利用指针修改指向空间中的值const修饰 p,指针变量p的值不能改变,但可以利用指针变量p修改指向空间中的值一定要对指针初始化4和5是等价的const修饰p和*p,指针变量p的值不能改变,也不能利用*p改变直系那个空间中的值2.voidvoid a;原创 2024-01-29 18:30:28 · 924 阅读 · 0 评论 -
嵌入式学习第十二天
int *a[5];指针数组主要用来操作字符串数组,通过将指针数组的每个元素存放字符串的首地址实现对多个字符串的操作二维数组主要用来存储字符串数组,通过每行存储一个字符串,多行存储多个字符串所组成的数组。原创 2024-01-27 18:51:48 · 393 阅读 · 0 评论 -
嵌入式学习第十一天
(1)一维数组和指针的关系:p = &a[0];p = a;数组的数组名a是指向数组第一个元素的一个指针常量a == &a[0]a 的类型可以理解为 int *访问下标为n的数组元素的方式:(2)一维数组传参:(3)一维字符型数组传参:(4)字符串传参:注意:字符串遍历:pstr = str;练习:封装一个函数MyStrcpy实现strcpy的功能。原创 2024-01-26 19:33:12 · 937 阅读 · 1 评论 -
嵌入式学习第十天
int *p;int *q;int *p, *q;野指针:未经初始化的指针,指向已经被释放过空间的指针称为野指针(指针一定记得初始化)空指针:NULL 0x0, 指向内存地址为0x0的指针所有的指针变量占8个字节直接访问:通过变量的变量名访问内存空间间接访问:通过变量在内存中的地址访问变量空间。原创 2024-01-25 19:36:06 · 647 阅读 · 0 评论 -
嵌入式学习第九天
1.实参将值拷贝一份给形参,形参是实参的副本,形参的值发生改变不会影响实参。全局变量:变量作用域在整个文件中(全局变量都在所有函数的外面定义)数组传递时,函数体内部形参操作的数组和实参操作的数组为同一数组。2.函数体内部想使用函数体外部变量值的时候使用复制传递。2.可以将变量的作用域限定到本文件中。3.执行到超过变量作用域范围回收变量空间。变量从空间被开辟到被回收的整个过程称为生存周期。变量作用域默认为离定义该变量最近的大括号内。2.执行到变量定义时开辟空间。声明一个变量为外部存储的变量。原创 2024-01-24 19:00:37 · 598 阅读 · 0 评论 -
嵌入式学习第八天
函数类型 函数名(数据类型1 形式参数1, 数据类型2 形式参数2, ...)函数体;return 返回值;函数类型:函数运行结果的类型注意:1.函数类型如果不写,默认为int类型2.函数返回值缺省,应该写void类型3.函数类型应该与返回值的类型一致,如果不一致以函数类型为准函数名注意:1.由字母、数字和下划线构成,不能以数字开头2.不要与C语言关键字重名3.最好不要与C语言库函数重名4.最好见名知意(动宾形式)原创 2024-01-23 21:00:45 · 952 阅读 · 1 评论 -
嵌入式学习第七天
/没有给定初值的元素,值为0值('\0')C语言没有字符串类型,也无法定义字符串变量,只能通过字符型数组,每个元素存放一个字符,最终存放字符串。1.strlen:获得字符串的长度(字符串开头到离开头最近的\0之 间的字符个数,不包含\0字符)二维数组的元素个数:sizeof(a) / sizeof(a[0][0]);2.从终端接收一个字符串,根据字符串每个元素的ASCII码完成对字符串的排序。字符型数组所占字节 == 元素个数。原创 2024-01-22 18:51:12 · 2486 阅读 · 0 评论 -
嵌入式学习第六天
(3)for循环嵌套形式for (A;B;C)D;for (E;F;G)H;外层循环执行一次,里层循环执行一遍(4)goto出错处理2.辅助控制语句:(1)break跳出循环或者switch结构循环不再执行,用break结束本次循环一个循环中屏蔽某几次循环可以使用continue(3)return结束当前函数。原创 2024-01-21 01:30:49 · 1058 阅读 · 0 评论 -
嵌入式学习第五天
3.switch只与case后面的值比一次,如果相同则顺序向下执行,直到break或程序结束退出。2.打印出0 - 1000以内所有能同时被 2 3 5 整除余 1 的所有数字(每8个数字一行)及其个数。注意:1.do .. while后面要加;case 常量1:语句块1;case 常量2:语句块2;case 常量3:语句块3;注意:1.switch后面的表达式的值必须为整形。} while (表达式);while (表达式)else if (表达式2)else if (表达式3)原创 2024-01-19 18:59:34 · 892 阅读 · 1 评论 -
嵌入式学习第四天
n 换行符 \t 横向制表符 \v 纵向制表符 \b 退格符 \r 回车符 \\ \字符 \" "字符。3.if和else不加括号,默认控制一句代码,为了保证程序不出错,一句代码也要加括号。2.gets可以接收带' '的字符串,scanf无法接收带' '的字符串。3.scanf除了%c形式外,均无法接收' '和'\n'字符。4.scanf中_%c可以接收非' '和'\n'字符。_%c 接收一个' '和'\n'的字符。原创 2024-01-18 18:41:53 · 972 阅读 · 1 评论 -
嵌入式学习第二天
二进制、八进制、十六进制 -> 十进制对应位 * 对应位的权值再求和十进制 -> 二进制、八进制、十六进制十进制数除以进制数得到的余数逆序排列二进制 八进制 十六进制:八进制1位对应二进制3位十六进制1位对应二进制4位。原创 2024-01-16 19:14:47 · 1668 阅读 · 0 评论 -
嵌入式学习第三天
(7)字符串常量:字符串末尾都有一个用来标识字符串结尾的\0字符'a'和"a"区别:'a':字符常量,只有一个字符a"a":字符串常量,有2个字符'a' + '\0'"ab\0" 4个字节空间"ab\\\123ab" 7个字节空间(8)标识常量宏只是代码的替换,中间不进行任何数据计算的操作宏名一般都是大写,用来和变量区分(9)变量:数据类型 变量名;初始化:定义变量的时候对变量赋初值赋值: 定义变量后,对变量的赋值。原创 2024-01-17 18:24:02 · 1099 阅读 · 0 评论 -
嵌入式学习第一天
开始学习嵌入式第一天原创 2024-01-15 21:01:12 · 583 阅读 · 3 评论