- 博客(32)
- 收藏
- 关注
原创 数据结构,栈,队列(线性表实现)
顺序队列,采用循环机制,给一个不用的空间,用来当作判断空满的条件,当空的时候,tail==head,当满的时候tail+1 == head,因为采用的循环,这个不用的空间是动态的,所以要循环注意求余;运用栈先进后出的原理扫描一个文件内的括号是否匹配(若配到左括号入栈,若是右括号则判断与栈顶括号是否匹配,若是不匹配则,输出该括号的位置,行号和列号)满栈,top指向的位置,是最后入栈的元素的位置。空栈,top指向的位置,是新元素待插入的位置。2.销毁 DestroySeqStack。常用操作,入队,出队。
2024-09-13 21:39:51
1150
原创 数据结构,顺序表,单链表,双链表
相互之间存在一种或多种特定关系的数据元素的集合。逻辑结构集合,所有数据在同一个集合中,关系平等。线性,数据和数据之间是一对一的关系树, 一对多图,多对多物理结构(在内存当中的存储关系)顺序存储,数据存放在连续的存储单位中。逻辑关系和物理关系一致链式,数据存放的存储单位是随机或任意的,可以连续也可以不连续。struct Per 数据元素char name;//数据项(数据:变量,数据项:数据类型)int age;char phone;//数据对象(数据元素的集合)
2024-09-11 22:14:11
882
原创 简单数据库sqlite
SQL struct query language 关系型数据库 非关系 芒果dbddl data defination language 建表dml 新增 修改 删除一行 data modiftydql 查询 data query language 查询 select1,新增2.修改3.删除一行4,查询数据库 sun solaris gnu数据库:这是一个用于存储和管理数据的系统,可以帮助用户高效地存取、更新和管理数据。
2024-09-10 23:39:00
2994
原创 IO多路复用,服务器,广播与组播
④返回参数中就是触发事件的列表,不用再遍历输入事件表查询各个事件是否被触发。④ select返回-1表示错误,返回0表示超时时间到没有监听到的事件发生,返回正数表示监听到的所有事件数(包括可读,可写,异常),通常在处理事件时 会利用这个返回值来提高效率,避免不必要的事件触发检查。① readfds等是指针结果参数,会被函数修改,所以一般会另外定义一个allread_fdset,保持全部要监听读的句柄,将它的拷贝传递给select函数,返回可读的句柄集合,类型fdset支持赋值运算符=;
2024-09-10 23:31:33
1216
原创 协议头,wireshark,http
基本介绍:HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0。
2024-09-10 23:18:06
2482
原创 linux系统编程-网络-tcp(29)
C/S模型适用于需要高性能、复杂用户界面的应用,客户端和服务器之间通常通过专用协议进行通信。B/S模型则更适用于需要广泛兼容和简化维护的应用,用户通过浏览器访问服务器上的应用程序。P2P)模型是一种网络架构,其中每个节点(或称为对等方)在网络中既是客户端也是服务器。每个节点可以直接与其他节点通信并共享资源,而不依赖于中心服务器。优点去中心化:没有单一的故障点,增强了系统的可靠性和鲁棒性。扩展性:节点数量增加时,系统性能通常会提升,因为每个新节点都可以提供更多资源。资源共享。
2024-08-29 21:59:11
2572
1
原创 linux系统编程-网络-udp(28)
1、socket 套接字 ==》BSD socket ==》用于网络通信的一组接口函数。函数用于接收来自网络的消息,特别是在使用无连接的套接字(如UDP)时。函数用于通过套接字发送数据,特别适用于无连接的协议(如UDP)。套接字是网络通信的端点,通过它可以进行数据的发送和接收。如果只想绑定到特定的IP地址,可以将其设置为具体的IP地址。如果接收到的数据为空,则返回0(表示对方关闭了连接)。结构的指针,用于存放发送者的地址信息。set mouse=a 可以使用光标,但是不能右键,只能选中使用y,d,p。
2024-08-28 21:36:36
1209
原创 目录操作(2)(21)
功能:根据用户id到k's文件下解析获得结构体信息参数:uid:用户id返回值:成功返回id对应用户的信息失败返回NULLeg:接受返回值struct passwd * pw = getpwuid(uid);
2024-08-19 20:56:58
974
原创 linux系统编程,目录(20)
DIR *目录流指针功能:打开一个目录获得一个目录流指针参数:name:目录名返回值:成功返回目录流指针失败返回NULL。
2024-08-14 21:45:39
651
原创 Linux系统编程 文件 标准io(18)
1975 Dennis r IO库,C语言的标准,ANSI cI: 键盘是标准输入设备 ====》默认输入就是指键盘 /dev/inputO: 显示器是标准输出设备 ==》默认输出就是指显示器Linux操作系统当中IO都是对文件的操作C一部分,任何支持标准C的系统都可使用标准IO实现文件存储标准IO在UNIX上是对文件IO的封装一般都是对普通文件操作是一种有缓存的IO 在文件IO和用户程序之间,加入缓冲区,可以有效减少系统调用的效率,节省系统IO调度资源。
2024-08-12 21:58:35
708
原创 枚举、typedef、位运算、malloc函数(c语言完结(17))
int a;//定义了一个int型变量a// 此时 a是 int类型的一个别名eg:给结构体起别名struct stustu_t s1;
2024-08-11 19:06:22
637
原创 结构体,共用体(16)
语法:struct 结构体名成员列表;(1) struct 关键字表示 是在构造一个结构体的类型(2) 结构体名用来 描述 结构体这个类型 一个名称(3) 成员列表表示 要描述的复杂数据 中用到的 具体的成员变量定义的方式,与之前变量的方式相同多个成员变量之间,用分号隔开。(4) 最后 有一个 分号 表示 结束int sno;char sex;结构体可以定义多种类型的变量,包括基本数据类型(如intfloat)、其他结构体、指针、数组等。
2024-08-09 21:43:46
869
原创 指针操作二维数组,指针数组,指针函数(15)
/数组 --- 数组中存放是 各个字符串的地址。//二维数组 //此时的二维数组的元素 是一个一维字符型数组。//char *的指针变量p 相当于代表一个字符串。//地址 ---存放这地址数据的数组 --- 指针的数组 ---指针数组。//p的类型 char **p <=> a[0] // 相当于是内部这个一维数组的数组名。//p的基类型 int[3]//p指向二维数组s。// int (int a,int b) //函数类型。//c语言中 不支持 int[3] *// 函数名 - 代表函数的入口地址。
2024-08-08 19:45:29
1509
原创 指针(二)(13)
如果这样定义的话:int *p,q;那么p是指针类型 int * ,q是int型int *p,*q;//此时表示定义了两个 int*类型的变量 p 和q注意:定义时候的 * 修饰变量名的 表示定义的是一个指针类型的变量。
2024-08-06 21:35:46
958
原创 预处理,指针(i)(12)
宏定义(Macro Definition)是一种预处理指令,用于在编译之前将代码中的某个标识符替换为指定的文本。基本形式:宏定义使用#define#define 宏名 替换文本其中,宏名是标识符或符号,替换文本是希望宏名在编译时替换的实际文本内容。
2024-08-05 21:29:41
1138
原创 函数iii数组作为函数参数,作用域及存储类别(11)
1.一维整型数组 做函数参数形参 --- 数组形式 + 数组长度实参 --- 数组名 + 数组长度2.一维字符型数组 做函数参数形参 --- 数组形式实参 --- 数组名原型: 一维字符型数组 主要用来存储字符串数据3.二维整型数组 做函数参数形参 --- 数组形式 + 行数 //本质 就是一维数组的长度实参 --- 数组名 + 行数4.二维字符型数组 做函数参数形参 --- 数组形式 + 行数 //本质 就是一维数组的长度。
2024-08-03 20:06:27
617
原创 二维字符数组,初识函数09
类型标识符 函数名 (形式参数)函数体代码1.main函数之前2.main函数之后main之后,需要在使用(函数调用)前,作函数声明函数头+分号 就是函数声明。
2024-08-01 19:47:39
1594
原创 字符数组及字符串处理函数,二维数组08
type是数组中元素的类型,可以是任何基本数据类型,也可以是结构体、联合体等自定义类型。arrayName是数组的名称。rowSize表示数组的行数,即二维数组中包含多少个一维数组。colSize表示每个一维数组的列数,即每个一维数组中有多少个元素。//表示定义了一个包含有三行四列总共十二个int型元素的二维数组。
2024-07-31 20:07:27
975
原创 循环结构之初识数组06
C语言的循环语句:goto //严格意义上并不是循环语句 --- 跳转语句whiledo-whilefor构成循环的要素:1.循环体 //反复被执行的代码2.结束条件3.使循环趋于结束的操作(或语句)4.循环的初始条件。
2024-07-29 21:10:06
1075
原创 选择结构05
C语言主要有三种结构构成,顺序,选择,循环,任何一个程序都是这三种构成的。我们今天先看一下选择结构。在学习选择结构之前,先了解一下关系运算符。
2024-07-29 00:14:22
858
原创 输入getchar,scanf输出putchar,printf函数04
--printf函数的返回值是输出的字符个数 eg:ret = printf("Hello\n");的情况时,将对应输出a + b的值。-m ---- 按指定宽度输出 ,左对齐 (负号表示左对齐)printf函数和scanf函数是有返回值的---scanf函数的返回值是读取到的数据个数。%f --- 转换为 十进制形式的小数,输出时默认保留6位小数,不足6位 补0。%f --- 转换为 十进制形式的小数,输出时默认保留6位小数,不足6位 补0。@c --- 表示要出的的字符。
2024-07-26 20:42:34
973
原创 转义字符,运算符和不同类型数据的转换03
/逗号运算表达式的结果 --- 是整个式子中最后一个表达式运算的结果。其中/为除运算符,---如果是两个整型数相除,此时相当于是整除的效果。++a //前置加加 --- 先加(让i自增) 后用(表达式的结果)a++ //后置加加 --- 先用(表达式的结果) 后加(让i自增)lvalue --- left value //(左值)表示需要左值。&a //取地址运算 --- 获取a对应内存空间的首地址 --地址编号。优先级 --- 不同优先级的运算 混合运算时,高优先级的先结合。
2024-07-25 21:17:58
816
原创 从头开始C语言之数据类型和进制之间的转换第二天
long long 八个字节。上述变量名都有正有负,也可以只定义为正数,在前面加上unsigned即可,一般定义下有符号的signed可以省略。我们先来熟悉一下基本数据类型,基本数据类型可以分为整型,浮点型,字符型和枚举型。可使用的数字符号的数目,我们称为基数。0100 0001 0100 0010 0000 0000 0000 0000 // 12.125 存到计算机中的样子。ch这个变量中 最终放的放的实际上是 'a' 对应的ascii码 值 (整型)
2024-07-24 20:40:08
595
原创 自学嵌入式第一天
首先,我们要了解什么是嵌入式:嵌入式系统是软件和硬件的综合体,他以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗等严格要求的专用计算机系统。cp file1.txt dir1 //如果目标是个目录 表示将file1.txt 复制到这个目录中。cp file1.txt file2.txt //复制出一份file1.txt 复制成 file2.txt。(1):Ubuntu 18.04 //linux系统 --Ubuntu使用的操作系统内核(kenerl)
2024-07-23 20:56:24
435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅