- 博客(18)
- 收藏
- 关注
原创 Linux高级编程(一)标准io:stdio.h
1975 Dennis r IO库,C语言的标准,ANSI cIO 即input outputI: 键盘是标准输入设备 ====》默认输入就是指键盘 /dev/inputO: 显示器是标准输出设备 ==》默认输出就是指显示器Linux操作系统当中IO都是对文件的操作C一部分,任何支持标准C的系统都可使用标准IO实现文件存储标准IO在UNIX上是对文件IO的封装。
2024-08-13 16:12:38
812
原创 C语言——枚举、typedef、位运算、堆
枚举是指将变量的值一个一个列举出来,变量的值只限于列举出来的值的范围。枚举可以提高代码的可读性,提高代码的安全性。列举的值,我们称为枚举元素或枚举常量,在后面的代码中,可以用元素代表一个常量。枚举写完后要以分号结尾。列举各种值时,用逗号隔开,最后一个值可以不加逗号。1.枚举中逐个列举的值,默认是从0开始的,后面的成员变量默认加一。此时直接打印成员变量的值,可以分别得到0,1,2。成员变量间还是用逗号隔开,此时打印分别得到1,5,8。2.枚举类型本质上是个int型的数据。
2024-08-11 15:43:18
1230
原创 C语言:结构体
形式1 先定义类型,然后定义变量{};形式2 定义类型的同时,定义变量}d;//形式3 定义类型的同时,定义变量,可以省略 结构体名struct}d;//如果,结构体类型只用一次。
2024-08-09 22:18:27
419
原创 嵌入式学习笔记十五——指针操作数组和函数
可以发现:二维数组a的指针p,p与*p的意义并不一样。p与*p都是地址,p指向一行的地址,p+1指向下一行;*p代表数组一个元素的地址,*(p+1)则指向下一个元素。如果要取地址指向空间的数据内容,需要**p,*p指向一个元素,**p访问地址数据内容。int a[4][4]一行是十六个字节,一个元素是四个字节,如果没搞懂可以运行这段代码,得到的结果都是地址,根据结果来进行理解。二维数组的操作是从二维数组的本质进行的 ,二维数组的本质一维数组的一维数组,直接的访问操作也是 一维一维的展开。
2024-08-08 21:32:56
992
原创 嵌入式学习笔记十四——指针操作一维字符型数组
1.形参设计为 const char *的目的, 防止函数中的误操作2.好处(1).提前发现问题 将运行时问题,提前到编译时(2).const char * 可以接收 char *和const char * 提高参数的适用性注意:形参能写成const的都写const1.指针操作一维字符型数组 //字符串2.知识点//1.指针变量的 类型 是怎么确定的?//2.一维字符型数组 字符串//3.处理字符串数据方式//4. const 关键字const 关键字使用方法。
2024-08-07 21:54:49
643
原创 嵌入式学习笔记十三——C语言指针变量、一维数组的指针、快速排序
指针变量初始化:如果没有初始化,指针是随机值,既。初始化可以让指针变量有明确的指向。
2024-08-06 22:43:42
470
原创 嵌入式学习笔记十二——C语言预处理和指针
语法: #define 宏名 宏值1. 预处理命令都是以 # 开头的2. 宏名:标识符,命名规则 和 之前标识符命名规则一致注:宏名一般都写大写 ,以区别与普通变量名3. 预处理 实际上 是将 宏名 用 宏值(预处理阶段的 字符串) 原样替换//文本替换注意:c语言字符串中出现的 "宏名" 不会被替换4. 应用a. 提高代码可读性b. 一改全改,方便代码修改5. 宏名的 作用域#undef 宏名:表示 取消 宏名的 定义注意:宏只是在预处理阶段发挥作用。
2024-08-05 21:47:47
763
原创 嵌入式学习笔记十一——C语言数组作为函数参数和标识符的作用域和可见性问题
1.修饰变量(1)修饰局部变量表示将局部变量存放到静态区。延长声明周期。存在静态区的变量:a.不能用变量初始化b.只会被初始化一次c.反复使用该变量时,值具有继承性。(2)全局变量限定作用域为本文件,别的文件不能通过extern来声明使用2.修饰函数限定作用域为本文件,别的文件不能通过extern来声明使用。
2024-08-04 23:50:32
875
原创 嵌入式学习笔记十——C语言函数的调用和数组作为函数的参数
函数调用的关系:调用者 和被调用者main ---成为调用者 ---main函数是整个程序的入口,只能调用者getMonthDays --- 在此处是 被调用者。
2024-08-02 21:37:13
849
原创 嵌入式学习笔记九—— C语言二维字符型数组和函数
类型标识符 函数名(形式参数)函数体代码(1)类型标识符 : 数据类型 //表示函数要带出的结果的类型注意: 数组类型 不能做 函数返回结果的类型返回结果:a.如果函数不需要带出什么结果,此时返回结果的类型说明符 一般设计为void。如果类型为void,一般不写return 或者写return;。b.如果 返回结果的类型 与 类型说明符不一致,以类似说明符为准。最终结果的类型,都会转为类型说明符表示的类型。c.类型说明符,如果不写,默认是 int 类型。
2024-08-01 21:18:51
808
原创 嵌入式学习笔记八——C语言字符串处理函数和二维数组
功能:输出一个字符串参数:s //表示字符串 -- 指针类型//字符数组名 s//字符串常量 "hello"返回值:成功 非负数失败 -1注意:puts输出时 自动会加 换行。
2024-07-31 21:43:08
1089
原创 嵌入式学习笔记七——C语言数组排序和一维字符型数组
1.从第一个元素开始,该元素可以认为已经被排序;2.取出下一个元素,在已经排序的元素序列中从后向前扫描;3.如果该元素(已排序)大于新元素,将该元素移到下一位置;4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;5.将新元素插入到该位置后;6.重复步骤2~5快速排序代码如下。
2024-07-30 22:14:22
994
原创 嵌入式学习笔记六——C语言循环结构、一维数组
1、while 和do while的区别:逻辑顺序不同while - 先判断 后执行do-while - 先执行 后判断 也就是说不论条件是否为真,do while循环体都会至少执行一次2、如何选择for、while和do while?for 多用于有一定范围的情况,while do-while 多用于只有某个结束条件的情况。当循环涉及初始化和更新变量时,用for循环比较合适,而在其他情况下用while循环更好。3、数组长度。
2024-07-29 20:22:56
822
原创 嵌入式学习笔记五——C语言流程控制:选择结构,循环结构
1.C语言的关系运算与数学上的比较含义不同,例如int a=1;0<a<5。计算时先将前面结合,算出值后再与后面比较。(0 <a)<5,0<a得到1,1<5.2.逻辑运算的短路特性和截断特性:这个特性会影响表达式2是否还要计算,影响后面的值,要特别关注。3.switch与if的区别:if 语句:对条件进行判断,是否满足,根据判定的结果(真或假)执行相应的语句。
2024-07-28 18:32:44
657
原创 嵌入式学习笔记四——C语言实现输入输出
首先简单介绍一下编程时起好一个变量名的方法,命名有两个方法:1.驼峰命名法:包括小驼峰和大驼峰。小驼峰形如fristNum,第一个单词的首字母小写,其余单词首字母大写。大驼峰形如FirstNum,每个单词首字母都大写。2.内核命名法:形如frist_num, 单词字母都是小写。命名时要做到见名知意和尽量不用拼音。
2024-07-26 20:58:45
592
原创 嵌入式学习笔记三——C语言运算符与表达式
b\n打印 \n的换行效果显现在下一行,不会覆盖前面打印的内容\r 含义是回车,效果是光标回到本行开头\\ 打印一个\,可用于打印路径。
2024-07-25 20:42:56
304
原创 嵌入式学习笔记二——C语言数据类型
数据类型 变量名;变量名即给变量取的名字,有下列要求:a.数字、字母、下划线组成b.开头不能是数字c.不能与关键字重名d.不要和预处理命令及库函数名重名变量的给值有两种方式:int a = 0;初始化时给值int a;a = 0;赋值。
2024-07-24 20:50:29
628
原创 嵌入式学习笔记一
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2024-07-23 21:11:55
626
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人