01 2022 档案
摘要:文章目录 一 Makefile简介1.1什么是Makefile?1.2什么是make?1.3为什么使用?1.4.优越性 二.makefile2.1 makfile编译规则2.2 Makefile特性介绍2.2.1 变量2.2.2 自动推导 2.3 文件查找2.4 Makefile中的通配符2.5Ma
阅读全文
摘要:文章目录 一、打开、读写、关闭1.1 fopen1.2 fclose1.3 fwrite1.4 fread文件读写指针 二、fseek、feof、ftell2.1 实现写读写一行2.1.1 写2.1.2 读(feof、ftell、rewind) 2.2 feof经典错误案例2.2.1 原理2.2.2
阅读全文
摘要:文章目录 一 函数指针二 回调函数练习:编写函数,定义一个无符号4字节的整数,然后获取每一个字节的内容,然后返回相加之和面试题: 三 存储类型四 内存管理思考题1思考题2 五 结构体5.1 结构体的使用5.1.1 结构体的定义和赋值5.1.2 定义结构体同时赋值5.1.3 结构体数组 5.2 结构体
阅读全文
摘要:文章目录 一、struct结构体1. 使用注意事项:2.struct数组3.柔性数组4.作业??? 二、union共用体三、enum枚举 一、struct结构体 struct 定义结构体类型: 第一个字母大写;{}后面有;号结构体名一定能体现结构体的作用(自注释性)最好写在全局,或者写在头文件(结构
阅读全文
摘要:文章目录 关键字1. register关键字volatile关键字 2. static关键字3. const关键字4. extern关键字5. typedef关键字6. inline关键字 关键字 1. register关键字 寄存器变量 使用:只能修饰局部变量,不能修饰函数 寄存器变量:有可能保存
阅读全文
摘要:文章目录 一、指针和二维数组二、数组指针三、指针数组四、指针和字符串五、多级指针六、const 关键词6.1 全局变量和局部变量6.2 const 修饰全局变量和局部变量6.3 const 修饰指针变量和修饰指针变量的类型 七、存储类型7.1 auto7.2 register7.3 static7.
阅读全文
摘要:文章目录 一、宏定义指令1.0前言1.1 定义常量与命令1.2 定义宏函数1.3 内置宏定义1.3.1 (#)1.3.2 (##)1.3.2 内置宏 1.4 扩展 二、条件编译指令三、其他预处理指令四、debug_msg的使用 一、宏定义指令 1.0前言 宏一定要大写 预处理: 预处理主要任务:1.
阅读全文
摘要:文章目录 内存管理1. 硬件(静态存储)VS内存(动态存储)区别2. 为什么所有的编程都关注内存管理?3. 编程过程中,内存管理主要做什么?4. 如何防止内存泄露?3. C语言防止内存泄露方法4. 常见的内存错误及对策5. 检测内存泄露 内存管理 1. 硬件(静态存储)VS内存(动态存储)区别 he
阅读全文
摘要:文章目录 一、 数组1.1 数组的概念1.2 一维数组1.2.1 一维数组的定义1.2.2 一维数组的性质 1.3 一维数组的初始化和遍历1.4 冒泡排序 二、二维数组2.1 二维数组的定义和性质2.2 二维数组的初始化和遍历 三、字符数组和字符串3.1 字符串逆序3.2 插入数据 四、字符串函数4
阅读全文
摘要:文章目录 一、概述二、函数基础语法2.1 函数三要素2.2 函数使用形式2.3 使用的注意事项2.3.1 函数的调用过程2.3.2 传出参数,传入参数(大多数函数实参)2.3.3 命令行参数2.3.4 函数返回值2.3.5 主函数的return 0 三、企业级函数的编写1. 函数的编码规范 四、函数
阅读全文
摘要:文章目录 一 输入输出函数1.1 getchar()/putcgar()1.1.1getchar()1.1.2 putchar 1.2 gets()/puts()1.2.1 gets()1.2.2 puts() 3.3 printf()/scanf()3.3.1 printf()3.3.2 scan
阅读全文
摘要:题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入 #include <stdio.h> int main() { int num,sum = 0,temp; printf("put in num = \n"); scanf("%d",&num); getchar(); for(int
阅读全文
摘要:文章目录 疑惑一、视频41,第30.56处???(疑问点!!!)常量? 问题问题1:UTF - 8编码格式是什么(已解决)问题2:printf里%#x是什么(已解决)问题3:什么是段错误?(未解决) 生疏生疏1:printf的理解(已解决)生疏2:关于原码、反码、补码的纠纷(已解决) 附 疑惑 一、
阅读全文
摘要:文章目录 一、数组1.1 数组认知:1.2 如何使用数组1.3 数组名1.4 数组指针1.5 指针数组1.6 指针与数组的区别1.7 指针与数组的复杂说明 一、数组 1.1 数组认知: 静态分配空间(int a[100] 400个字节) >空间利用率太差(1.不够用 2. 浪费空间)所占内存空间特点
阅读全文
摘要:文章目录 一、C语言简单讲解1.1 代码注释1.2 中英文切换1.3 代码讲解gcc编译出现问题的解决方式 二、 计算机的数据表示数值型数据非数值型数据 三、词法符号3.1 关键词3.2 标识符3.3 分隔符3.4 运算符3.5 标点符号 四、数据类型4.1 逻辑类型bool类型4.2 整数类型4.
阅读全文
摘要:文章目录 一、前言二、字符串函数2.1 strlen字符串长度函数2.2 strcpy、strncpy字符串拷贝函数2.3 strcat、strncat字符串链接函数2.4 strcmp、strncmp字符串比较函数2.5 strchr、strrchr、strpbrk字符串函数补充strspnstr
阅读全文
摘要:文章目录 一、概述二、Linux三、linux的系统的层次四、linux目录结构五、命令行提示符的介绍六、linux的基本命令6.1 ls命令6.2 chmod命令6.3 cd 命令6.4 pwd 命令6.5 mkdir 命令6.6 sudo命令6.7 touch命令6.8 rm命令6.9 cp命令
阅读全文
摘要:文章目录 学习内容一、指针(深入浅出指针)二、多级指针三、指针运算、万能指针附疑问及解决编程练习 学习内容 指针的作用*与&多级指针野指针字符串 一、指针(深入浅出指针) 谈谈你对指针的理解? (指针是什么) 语法:指针是一种数据类型,它可以定义变量,变量保存的值是地址,由于地址是固定长度,所以指针
阅读全文
摘要:文章目录 一、if语句陷阱二、循环语句switch语句break VS continuegoto语法附程序训练 一、if语句陷阱 if语句注意事项 非零为真if条件后面别加;判断相等时,将常量写在左边规范:if匹配else < 可读性差>if条件中的运算符优先级(加上括号)零值比较 整型 if(0
阅读全文
摘要:文章目录 一、自增、自减运算符二、关系运算符三、运算符四、位运算编程练习 附作业 一、自增、自减运算符 i++; //过去的笔试题 i = 2; //例:i++; //i++结束标志,是一行最后的;或者函数的()还有,逗号 int num = (i++) + (i++) + (i++) + (i++
阅读全文
摘要:文章目录 一、数据类型二、定义变量三、基本数据类型需掌握的知识点3.0 类型转化3.1 各种数据类型的字节长度1. 数据类型长度2. 指针长度3. 数组长度4. 字符串长度 3.2 各种数据类型的取值范围3.3 无符号和有符号的移植性typedef 四、变量和常量五、格式化输出printf注意点pr
阅读全文
摘要:文章目录 C语言知识体系一、C语言概述1.1 嵌入式开发中为什么选择C语言1.2 为什么内核开发选择C语言1.3 C语言的缺点1.4 C语言实现面向对象编程1.5 C语言的开发方向1.6 C语言发展 C语言基础知识 C语言知识体系 C语言概述(历史、特点、标准)数据类型(基本数据类型、输入输出)基本
阅读全文
摘要:文章目录 工程管理器make1.1 什么是工程1.2 工程管理器的作用1.3 makefile文件真目标和伪目标 1.4 执行顺序:1.5 多级目录的Makefile编写隔断多级目录下的makefile 附 工程管理器make 如何编写Makefile文件 缺点:makefile编译速度很慢,只能实
阅读全文
摘要:文章目录 前言gdb调试段错误 前言 对于C语言新手建议用printf打印大法 对于gdb本章节只做简单介绍 gdb是GNU发布的一款强大的程序调试工具。 GDB主要完成下面三个方面的功能: 启动被调试程序让被调试的程序在制定的位置停止当程序被停住时,可以检查程序状态-变量值 学习GDB的三步走(可
阅读全文
摘要:文章目录 前言1.编译器gcc2.调试器gdb3.工程管理器make 一、库文件1.1 制作静态库1.2 使用静态库1.3创建动态库1.4使用动态库 练习 前言 1.编译器gcc 静态库和动态库的制作与使用 2.调试器gdb 常用命令、调用内存错误 3.工程管理器make makefile编写、多目
阅读全文
摘要:文章目录 编译器gcc1.1 gcc概述1.2 什么是交叉编译1.3 源文件到可执行经历步骤1.4 编译选项 附 编译器gcc 1.1 gcc概述 GNU计划提供编译器(unix cc编译器) (编译工具链) --> (交叉编译工具链) 1.2 什么是交叉编译 交叉编译:在宿主机下编程出在目标机下运
阅读全文
摘要:文章目录 一、vxcode的使用1.1 vscode的优势1.2 vscode安装插件 二、 vscode远程连接Linux2.1 安装教程2.2 安装过程可能出现的问题 小结 一、vxcode的使用 1.1 vscode的优势 所占用内存更小多环境、多插件可以远程连接Linux 由于做着已经在Li
阅读全文
摘要:文章目录 一、嵌入式Linux开发系统二、 vi/vim/gvim:文本编辑器三、vim的使用四、vim替代品 一、嵌入式Linux开发系统 文本编辑器-vim + vscode(使用并配置vim、安装及使用插件+远程连接vscode)编译器gcc(常用编译选项,静态库和动态库的制作与使用)调试器g
阅读全文
摘要:文章目录 一、命令归纳小结二、vim使用三、vim的配置四、10 个效果酷炫的 Linux 命令 一、命令归纳小结 用户管理:su sudo adduser deluser ps kill 文件管理:ls (-l -a -R) chmod cat touch gedit gcc rm tar fin
阅读全文
摘要:文章目录 一、网络命令1.1 设置IP地址1.2 关闭网卡1.3 打开网卡 二、ssh远程连接2.1 为什么进行远程连接2.2 远程连接的主要工具 一、网络命令 1.1 设置IP地址 ifconfig 网卡 IP地址 ifconfig ens33 192.168.12.13 1.2 关闭网卡 ifc
阅读全文
摘要:文章目录 Linux进阶命令1.1 find命令1.2 grep命令1.3 which和whereis1.4 uname命令1.5 tree/lstree1.6 文件打包压缩和解压缩1.7 diff命令 Linux进阶命令 1.1 find命令 作用:在文件系统中用来查找文件存放在那里 用法::fi
阅读全文