自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 高级IO命令

库函数和系统调用的区别:库函数有缓冲区,系统调用无缓冲区系统调用每次都要从系统空间调用到内核空间,而库函数不需要(缓冲区)库函数可以跨平台,而系统调用不可以fcntl:设置或者修改已打开的文件性质int fcntl(int fd文件描述符,int cmd指定不同的宏来修改fd指向文件的属性,…)需要传参才需要第三个参数宏:F_DUPFD复制重定向F_GETFL获取F_SETFL设置#include <stdio.h>#include <string.h>#i

2021-12-19 20:18:05 488

原创 文件拷贝及高级IO

APPEND:读和写文件指针移到末尾write和read三个参数一样(字符流)raed(0):读到文件末尾lseek:获取一个文件的大小,读写位置open打开一个文件时,内部有相应的结构体指针生成,开辟空间,close释放空间,防止内存泄漏文件拷贝(换行)**缓冲区在操作使用之前必须要清空!**防止脏数据或者粘包往一个文件里写数据:#include <stdio.h>#include <string.h>#include <stdlib.h>#inc

2021-12-17 23:26:05 283

原创 Linux C初级IO

creat函数:创建一个文件头文件包括:#include <sys/types>#include <sys/stat.h>(获取文件的属性,文件拷贝做判断,文件大小接受是否完整)#include <fcntl.h>(关于文件的权限和分配,已知属性的设置)原型:int creat(const char *pathname,mode_t mode);mode:指定文件的权限例:d rwx r-x r-x:当前用户 同一组用户 其他用户可读 4 可写

2021-12-15 17:06:54 1976

原创 安装工具注意事项

unbutu20.04安装步骤 alt+F7移动窗口https://www.cnblogs.com/ubuntuanzhuang/p/ubuntu2004.htmlVMware虚拟机安装ubuntu20.04与Windows不能相互复制与粘贴https://www.cnblogs.com/jackron/p/14302348.htmlubuntu 20.04 LTS 安装后设置root密码https://www.cnblogs.com/zqifa/p/12910808.html如何在Ubuntu

2021-12-03 21:25:58 97

原创 21-12-3数据结构单链表

一 单链表1.1 顺序表的优缺点优点:操作简单,本质就是一个数组缺点:需要开辟一块连续的内存空间,如果存储的数据很多,则很不方面,在插入和删除数据时,会出现内存成片移动的现象,效率非常低1.2单链表单链表:线性表的链式存储线性表:数据之间是一对一的关系链式存储:不需要在内存中开辟一段连续的内存空间,所以每一个数据不再是基本数据,而是由两部分组成,数据域和指针域,数据域保存数据,指针域保存下一个节点的地址。单链表:就是一个单向的链表,前者结点可以找得到后者结点,但是后者无法找到前者1.

2021-12-03 21:25:04 376

原创 21-12-1数据结构顺序表

一 课程体系概念顺序表,单链表,栈,队列树图算法查找算法,排序算法二 为什么要学习数据结构1.程序结构 = 数据结构 + 算法数据结构是写代码非常重要的东西,也是一门基础课程2.任何一门编程语言,数据结构都是非常重要的组成部分比如c++里面的STL(标准模板库)数据库的本质也是使用数据结构的内容编写的数据结构中的图的遍历算法是人工智能的基础红黑树在驱动中体现3.我们之前已经学习了C基础部分,知道C语言中相对重要也是难度比较大的地方:数组,函数,指针,结构体,数据结构这门课会天

2021-12-02 10:40:56 446

原创 21-11-29结构体及文件操作

如何定义结构体类型?struct Student{ int num;char name[2];int age;}**;**第一个字母大写,结构体名一定能体现结构的作用(自注释性)结构体里不能保存函数:解决:保存函数指针 例:struct Student{ int num;char name[2];int age;void (*func)();}**;**void print(){peintf("hello world\n");struct Student stu =

2021-12-01 14:06:39 200

原创 21-11-26内存管理

编程:实现删除字符串中出现次数最少的字符:main.c//统计每个字符在字符串中出现的次数//统计次数找出最小数//删除指定字符串#include <stdio.h>#define max_size 1024int main(int argc,**argv){ if(argc != 2) { printf("please input string!\n"); exit(1); } int count[26] = {0

2021-11-28 23:23:30 554 1

原创 21-11-25函数

函数1、函数基础语法(函数定义、调用、声明)2、函数的使用注意事项(传值、返回值)3、企业级函数(复用性、维护性、扩展性)——华为编码函数基础语法:1、函数三要素:函数名、函数形参、函数返回值函数名:命名提现自注释性,提高代码可读性:动词_名词[4]函数形参:传什么类型就用什么类型的变量来接;(a == 元素指针 aa == int (*a)[] aaa = int (*aa)[][]函数的返回值:return 0;——结束当前函数 exit(1);——结束整个程序2、函数使用形式:

2021-11-28 13:10:49 124

原创 21-11-21字符串

字符串认知:1、字符串就是首字符的地址字符串定义的形式:2、字符串函数:字符串比较函数 strcmp strncmp字符串拷贝函数 strcpy strncpy字符串长度函数 strlen 字符串连接函数 strcat strncat字符串清空函数 mensrt bzero“helloworld”保存在数据段的or段;该数据不能被修改;...

2021-11-24 11:18:15 305

原创 21-11-23数组

数组1、数组认知:a、静态分配空间(int a[100];分配了400个字节)空间利用率差(不够用或者浪费空间)malloc realloc动态分配,不用就释放,优点效率高,空间使用效率高,缺点是开销比较大)b、所占内存空间特点:连续的(物理连续)——malloc分配空间是否物理连续?(malloc实现原理:链表链接所有空闲的空间,组成最终分配的空间)2、如何使用数组:a、定义数组:数组该定义多大?char src[1024];——最佳解决方案:柔性数组注意事项:可变长数组c99:定义一个变

2021-11-23 21:54:28 880 2

原创 21-11-18指针

1、谈谈你对指针的理解?(指针是什么?)指针是一种数据类型,它可以定义变量,变量保存的值是地址,由于地址是固定长度,所以指针变量的长度是固定长度;不同地址的步长不一样,导致需要不同指针类型的变量来保存;工程应用作用:由于指针变量可以保存地址,所以可以直接操作地址,也就是可以直接操作硬件的寄存器地址,从而实现直接访问硬件;int * p;//整型指针变量:p是一个变量,保存的是地址,该地址是整型类型的地址;char * p2;//字符指针变量:p2是一个变量,保存的是地址,该地址是字符类型的地址问

2021-11-20 23:51:34 401

原创 21-11-17循环与掩码

输入任意十进制数,转化成十六进制数显示:#include <stdio.h>#include <stdlib.h>char *int2hex(unsigned int num){ int temp; unsigned int mask = 0xf; //static char hex[11]; //0x12345678; !!!:hex的空间在栈空间: char *hex = (char *)malloc(sizeof(char) * 11

2021-11-18 19:10:22 442

原创 2021-11-16输入输出强制转换

题目:实现一个计算器,功能加减乘除我的程序:#include <stdio.h>void add();void sub();void mul();void div();float a;float b;double result;char p;void add(){ result = a + b;}void sub(){ result = a - b;}void mul(){ result = a * b;}void div

2021-11-16 16:30:03 871 2

原创 2021-11-10嵌入式Linux开发工具

嵌入式Linux开发工具1、多级目录makefile的编写2、cmake使用(线上)3、shell编程(线上)4、git版本管理工具(线上)定义变量的几种方式:变量替换文件名:$(变量名)例:1、obj = a.o b.otest : $(obj)2、用“=”实现a1= $(a2)a2 = $ (a3)a3 = a.o3、用“:=”实现4、用“+=”实现5、用“?=”实现总控makefile:进入各个功能子目录下面执行make命令$(wildcard模式参数):sou

2021-11-11 16:05:05 418

原创 2021-11-08配置库文件

嵌入式Linux开发工具1、gcc编译器(静态库和动态库的制作与使用)2、gdb调试器(常用命令,调用内存错误)3、工程管理器make(makefile编写、多目录的Makefile的编写)库文件:保存函数和变量,里面的函数和变量只能使用,但是看不到其实现库函数:printf scanf strcpy strcat(保存在库文件)extern:该函数在其他文件已经定义 通常放在.h文件里库文件的分类:静态库.a:保存的函数和变量,在编译阶段加载到可执行文件中动态库.so:保存的函数和变量,

2021-11-08 20:15:02 375

原创 2021-11-06进阶指令

ubuntu下安装指令:apt-get install 软件ifconfig:查询网络ip等信息可以设置ip地址:ifconfig ens33(网卡名称)192.168.xx.xxifconfig up/down 启动/关闭网卡安装前更新软件源(软件和更新:选择最优的服务器)如果一个软件装不了可以用:apt-get update更新软件列表(apt-get upgrade:更新程序)install 安装remove 删除search 搜索程序包clean删除所有已下载的包文件autocl

2021-11-07 20:54:06 184

原创 2021-11-04嵌入式概念及基础命令

1.嵌入式开发 VS 传统开发(是否有无操作系统)什么是嵌入式开发?嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。(在已有的硬件上移植操作系统)系统软件:驱动、BSP、内核传统开发的缺点:软硬件耦合度高 嵌入式开发的缺点:增加成本移植操作系统的好处以及为什么:解决了软硬件的耦合度,提高代码的移植性传统开发:在软件平台上,是根据用户要求建造出软件系统或者系统中的软件部分的过程。什么是操作系统?操作系统(operating system,简

2021-11-04 16:42:04 135

原创 嵌入式Linux C-shell编程,C开发环境搭建

正则表达式1.正则表达式就是用一个字符串来描述一个特征,然后去验证其它字符串是否符合这个特征。2.[ ]是为解决.号匹配过于广泛的问题,指定一个范围,如t[aeio]n只能匹配 tan, ten ,tin, ton3.或运算符|t(a|e|i|o|oo)n 匹配 tan, ten, tin, ton, toon在LINUX中,正则表达式中(){}|+?要加\转义,因为有特殊含义,要表示...

2020-01-16 20:23:38 430

原创 嵌入式文本编译器-vi,用户管理及权限管理

vi的工作模式命令模式:控制屏幕光标的移动,字符,字或行的删除,移动复制某区域,按i进入插入模式,按/或:进入底行模式插入模式:编辑文字,按ESC返回命令模式底行模式:将文件保存或退出vi,也可以设计编辑环境,如查找字符串,列出行号等。通常底行模式也算是命令vi的进入vi+文件名例:[lin@localhost ~]$ vi a.txt如果没有a.txt文件则自动在当前目录下生成该...

2020-01-15 16:07:38 236

原创 嵌入式Linux C开发概述和基本命令

嵌入式Linux C概述嵌入式系统是现在最热门的计算机应用领域之一,嵌入式Linux是应用最广泛的嵌入式操作系统之一,嵌入式C语言在其中起着至关重要的作用。由于Linux操作系统,是一个广泛使用的操作系统,并且可以被移植、裁剪进很多的嵌入式系统中,如ARM处理器的应用系统中就大量采用Linux等。Linux C适用领域有多种,如民用领域:各种消费电子,智能家电,路由器,手机(Android系...

2020-01-13 16:54:49 348

数据结构笔记数据结构笔记.pdf

数据结构笔记

2021-12-06

空空如也

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

TA关注的人

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