自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 双向链表相关

程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,线性结构:元素之间一对一的关系(表(数组,链表),队列。散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对。一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)链式存储:采用一组非连续的内存空间保存元素。图形结构:元素之间多对多的关系(网状结构)树型结构:元素之间一对多的关系(二叉树)数据的物理结构:数据的逻辑结构在计算机内存中的存储形式。数据的逻辑结构:数据元素与元素之间的关系。

2024-08-08 18:51:58 392

原创 基于Linux系统下的在线手机商城

随着网络的发展,电子商务的兴起和普及使得消费者越来越倾向于通过互联网购买商品和服务,越来越多的传统零售商和新兴企业转向在线销售以满足消费者的需求,个成功的在线商城项目背景包括对市场需求、竞争环境、技术和平台选择、商业模式和目标、以及用户体验和功能需求的全面理解和分析,越来越多的传统零售商和新兴企业转向在线销售以满足消费者的需求,所以有了在线商城项目。int prase_http_request(char *http_buff, HTTP_REQ_t *req):解析用户的命令。商品概述:数据库信息的导出。

2024-08-07 10:23:49 292

原创 数据库相关

create table if not exists 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);create table 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);4../configure // 生成makefile。2.tar -zxvf sqlite-autoconf-3080403源代码.tar.gz。UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。

2024-08-02 20:06:05 286

原创 并发服务器

/增加非阻塞属性 //flag = flag & ~O_NONBLOCK;4.select只能工作在水平触发模式(低速模式)无法工作在边沿触发模式(高速模式)4.poll只能工作在水平触发模式(低速模式)无法工作在边沿触发模式(高速模式)2.select监听的文件描述符集合在用户层,需要应用层和内核层互相传递数据。3.epoll会直接获得产生事件的文件描述符的信息,而不需要遍历检测。nfds:监测的文件描述符上限值(最大文件描述符的值+1)

2024-07-31 20:07:40 257

原创 Linux下的网络通讯

2. 对于变长的包,还可以在包和包之间使用明确的分隔符,这个分隔符是由程序员自己来定的,只要保证分隔符不和正文冲突即可。(3)超时重传:当发送端发送的数据在网络中丢失时,在一定时间内没有收到接收端的ACK,则发送端会重新发送丢失数据。这样对方就可以控制发送数据的速度,从而达到流量控制,16bit,因而窗口最大65535.TCP协议是面向字节流的协议,接收方不知道消息的界限,不知道一次提取多少数据,这就造成了粘包问题。(1)滑动窗口:可以按照“窗口大小”, 一次发送多条后, 再等待应答。

2024-07-27 20:15:09 355

原创 通信相关(管道)

1、管道是 半双工的工作模式2、所有的管道都是特殊的文件不支持定位操作。3、管道是特殊文件,读写使用文件IO。

2024-07-22 20:37:01 737

原创 线程相关1

功能,初始化一个attr的变量参数:attr,需要变量来接受初始值返回:0 成功,非0 错误;

2024-07-20 20:24:22 663

原创 线程相关的知识

线程是一个轻量级的进程 light process每一个线程都属于一个进程进程是操作系统资源分配的最小单元线程是CPU任务调度的最小单元线程是一个任务执行的过程,包括创建、调度、消亡创建:线程空间位于进程空间内部进程:1.文本段2.数据段3.堆区进程中的每个线程,栈区是独立的,共享进程中的数据区和文本区,堆区。调度:宏观并行、微观串行与进程调度保持一致线程消亡:线程执行结束后,需要回收线程空间。

2024-07-19 21:22:51 450

原创 Linux多进程相关(补充)

退出状态,终止的进程会通知父进程,自己使如何终止的。如果是正常结束(终止),则由exit传入的参数。如果是异常终止,则有内核通知异常终止原因的状态。任何情况下,父进程都能使用wait,waitpid获得这个状态,以及资源的回收。exit(1);功能:让进程退出,并刷新缓存区参数:status:进程退出的状态返回值:缺省return 当该关键字出现在main函数中时候可以结束进程如果在其他函数中则表示结束该函数。

2024-07-18 20:18:36 672

原创 LINUX多进程相关

1.程序:是一段存放在外存中代码的集合(静态的)2.进程:是一个程序动态执行的过程,包括创建、调度、消亡(动态的)正在执行的程序 ---进程 (动态)程序 ----加载到内存去运行--- 进程进程是 程序运行的实体。进程运行需要消耗两个主要资源:cpu+内存进程和程序的区别:1)程序是永存,进程是暂时的2)进程有程序状态的变化,程序没有3)进程可以并发,程序无并发4)进程与进程会存在竞争计算机的资源5)一个程序可以运行多次,变成多个进程。

2024-07-17 20:34:12 580

原创 LINUX系统下自创minishell

1.获取终端用户输入的命令,并输出相应的执行结果2.使用多文件方式实现,使用Makefile管理。

2024-07-16 19:34:16 783 1

原创 Linux学习day2

写:size_t fwrite(const void *ptr, size_t size,size_t nmemb, FILE *stream);读:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);从指定的stream流对象中获取nmemeb个大小为size字节的数据块到ptr。SEEK_SET 文件的开头位置 offset 只能是正值。写到终端屏幕显示,如果是fp的普通文件则会写入到文件中。

2024-02-22 18:49:00 354 1

原创 linux 学习day1

p -- pipe -- 管道文件 --- 实现操作系统中 进程间的一些 信息交换(通信)fp --保存数据 --- fputc(ch,fp);往文件中,指定第n个字节后 插入一句话 ---- "i am xxx....\n"stdin FILE* 标准输入流 ---->键盘。l -- link -- 软连接文件 --- 类似windows的快捷方式。刷新指定的流文件 (刷新 ---写操作- 将缓存中的数据写到要达到的目标位置)

2024-02-21 19:53:32 355

原创 C语言学习day15

由于频繁申请和释放,导致连续的空间分散成一些小的碎片空间,当malloc超过碎片空间时,则无法获得该空间(空间不连续),将这样的空间称为内存碎片。3.malloc需要和free搭配使用,如果只有malloc没有free会内存泄露。练习:要求申请堆区空间,将"hello world"存放到堆区空间,完成打印。2.一个空间只能被free一次,多次free程序会崩溃。size:申请堆区空间的大小。1.free只能释放堆区空间。程序中malloc的空间没有被释放。返回获得的空间的首地址。内存溢出也称为内存越界。

2024-01-31 19:54:32 365

原创 C语言学习day14

内存对齐:char 按照1字节对齐short 按照2字节对齐int 按照4字节对齐double 按照4字节对齐结构体整体的大小必须为最大基本类型长度的整数倍。

2024-01-30 18:10:13 386 1

原创 C语言学习day13

struct 结构体名数据类型1 成员变量1;数据类型2 成员变量2;数据类型3 成员变量3;..数据类型 变量名;数据类型 *指针变量名;

2024-01-29 18:42:29 347

原创 C语言学习day12

指针数组=====主要用来操作字符串数组,通过将指针数组的每个元素存放字符串的首地址实现对多个字符串的操作二维数组 =====主要用来存储字符串数组,通过每行存储一个字符串,多行存储多个字符串所组成的数组。

2024-01-27 18:47:46 422 1

原创 C语言学习day11

数组的组名a是指向数组第一个元素的指针常量a == &a[0];a的类型可以理解为int *(sizeof运算时和&运算时除外)

2024-01-26 18:56:12 386 1

原创 C语言学习day10

所有的指针变量占8个字节间接访问:通过变量在内存中的地址访问变量空间直接访问:变量名访问。

2024-01-25 18:52:52 480

原创 C语言学习day9

注意1.递归一定要有结束条件2.避免深层次的递归。

2024-01-24 19:10:15 346

原创 C语言学习day8

函数类型 函数名(数据类型1 形式参数1, 数据类型2 形式参数2, ...)函数体;return 返回值;函数类型:函数运行结果的类型1.函数类型如果不写,默认为int类型2.函数返回值缺省,应该写void类型3.函数类型应该与返回值的类型一致,如果不一致以函数类型为准。

2024-01-23 20:16:00 309 1

原创 C语言学习day7

数据类型 数组名[元素个数];

2024-01-22 19:36:03 349

原创 C语言学习day6

数据类型 数组名[元素个数]注意:元素个数为常量。

2024-01-20 18:32:49 329

原创 C语言学习day5

if (表达式1)语句块1;else if (表达式2)语句块2;else if (表达式3)语句块3;else语句块4;

2024-01-19 18:59:26 387

原创 C语言学习day4

重要的控制符:\n 换行符\t 横向制表符\v 纵向制表符\b 退格符\r 回车符\\ \字符\" "字符。

2024-01-18 18:49:52 1418 1

原创 C语言学习day3

字符串末尾都有一个用来标识字符串结尾的\0字符。

2024-01-17 18:37:14 903

原创 C语言学习day2

1. 二进制、八进制、十六进制向十进制对应位*对应位的权值求和2.十进制向二进制、八进制、十六进制十进制除以进制数得到的余数逆序排列。

2024-01-16 19:12:17 1327 1

原创 C语言学习day1

1.普通用户 :权限会受限可以有多个,也可以一个没有,名字没有限制2.超级用户:权限不受限制有且只有一个,名字为 root。

2024-01-15 18:37:34 1603 1

LINUX系统下自创minishell

该文件我本人的minishell模块

2024-07-16

空空如也

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

TA关注的人

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