- 博客(20)
- 收藏
- 关注
原创 [FTP]
dnf search vsftpddnf install vsftpd -yfirewall-cmd --zone=public --add-service=ftp --permanentfirewall-cmd --reloadvim /etc/vsftpd/vsftpd.conf:set nu:qmv /etc/vsftpd/vsftpd.conf /etc/vsftpd//vsftpd.conf.bkegrep -v '#|:|^$' /etc/vsftpd/vsftpd.conf.bk >/etc
2022-05-31 22:30:34
376
原创 客户端通过网页浏览器访问web服务器网站
dnf list httpddnf -y install httpdsystemctl status httpdsystemctl start httpdsystemctl status httpdecho “welcome”>/var/www/html/index.htmlsystemctl restart httpdvim /etc/httpd/conf/httpd.conf:set nu//160Order allow,denyAllow from a
2022-05-29 09:33:05
896
原创 【队列与栈的实现】
队列功能:#pragma once#include<stdlib.h>#include<stdio.h>#include<assert.h>#include<string.h>typedef int QDataType;//链式结构:表示队列typedef struct QListNode{ struct QListNode* Next; QDataType data;}QNode;// 队列的结构typedef stru
2022-05-25 14:24:38
113
原创 双向循环 链表
首先,我们明确需要实现的功能:#pragma once#include<stdio.h>#include<string.h>#include<assert.h>#include<stdlib.h>#include<stdbool.h>typedef int LTDataType;typedef struct ListNode{ LTDataType data; struct ListNode* next; stru
2022-05-22 12:17:05
123
原创 作业 KMP
目录第一章 问题分析 3引言: 3选择原因: 3总体要求: 3第二章 算法设计与实现 4暴力算法: 4KMP算法: 6(一) .KMP算法定义 6(二) .最大公共元素长度 9(三) .Next数组 10(四) .Next数组的求解 12(五) .Next数组的求解的优化 14(六) 扩充BM算法 16(七) 扩充SUNDAY算法 19第三章 程序测试 24测试分析: 24时间复杂度分析: 26第四章 总结与展望 27参考文献 28
2022-05-17 18:20:44
305
原创 wordpress
使用LAMP搭建wordpress网站dnf -y install httpdsystemctl status httpdsystemctl start httpdsystemctl status httpdsystemctl enable httpdeecho “welcome”>/var/www/html/index.htmlgetenforcesetenforce 0getenforcednf -y install mariadb-serversyst
2022-05-16 07:49:51
222
原创 Web端配置
目录Httpd安装与基础配置基于多ip的多虚拟主机配置基于主机域名的多虚拟主机配置基于端口号的多虚拟主机的配置Httpd安装与基础配置dnf list httpddnf -y install httpd127.0.0.1Systemctl status httpdSystemctl start httpd //临时打开,重启之后就不行了Systemctl status httpdSystemctl enable httpd //开机自启Tree..
2022-05-15 22:15:37
420
原创 Linux换源方法
删除旧的配置文件rm -rf /etc/yum.repos.d/*.repo下载repo文件wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo生成缓存yum makecache
2022-05-15 20:18:30
386
原创 KMP算法[个人理解与笔记]
目录一.暴力匹配二.KMP算法图文与代码:最大公共元素与next数组:一.暴力匹配当我们需要在长串S中,找到我们需要的模式串L。使用暴力匹配的话,需要将整个串不断的回溯,时间复杂度是(m*n)#include<stdio.h>int violentmatch(char* ske, char* str) { int len1 = strlen(ske); int len2 = strlen(str); int i = 0, j =
2022-05-14 15:16:41
285
原创 顺序表 c语言实现
目录顺序表:函数声明:初始化:函数空间检查与扩容:头插,头删,尾插,尾删:特定位置的删除与插入:顺序表:概念部分:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。 顺序表一般分为:静态顺序表,动态顺序表顺序表C语言实现:首先你需要明确,你需要的基础功能应该有那些:头插,头删 尾插,尾删 扩容 初始化 特定位置删除与插入接下来开始实现:在数据结构阶段应该将函数声明与实现分开
2022-04-22 12:55:46
731
原创 <文件操作>
文件指针:概念:缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。 每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名 字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是有系统 声明的,取名FILE.FILE* pf;//文件指针变量定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变 量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找
2022-04-09 11:08:54
87
原创 malloc笔试题解析
void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}test函数调用时,内部创建了指针变量str,它是一个局部变量。当把 实参str传给形参p时,形参p是一份临时拷贝,它有自己的独立空间。malloc申请的空间,放进p时,并不会影响到str。当.
2022-04-01 18:17:59
229
原创 通讯录【C语言实现】个人理解
在实现代码之前,需要思考通讯录需要实现那些功能。例如,增加联系人,删除联系人,查找联系人,打印联系人信息,对录入的联系人信息进行排序和退出。首先是实现通讯录菜单:实现菜单后,需要思考如何调用菜单并实现菜单的功能:在调用菜单后,需要实现菜单的各种功能,我们将各种函数的说明与实现分装开来。contact.h用来说明各种函数与结构体。 test.C用来放主函数和菜单等。 contact.C用来实现函数。提前申明:首先,联系人信息应该包括了姓名,性别..
2022-03-31 08:16:50
139
原创 结构体与联合体与枚举
结构体内存对齐:先看一组代码:看上去似乎是char类型+int类型+char类型的字节大小,但是实际运行却是完全不一样。原因:结构体有一种内存对齐规则。第一个成员在与结构体变量偏移量为0的地址处 其他成员变量要对齐到对齐数的整数倍的地址处 对齐数指的是编译器默认的一个对齐数与该成员大小的较小值 结构体总大小为最大对齐数的整数倍 如果嵌套了结构体,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有zuidaduiqishu...
2022-03-29 14:42:01
274
原创 字符串与内存函数(2)
strstr函数:strstr(str1,str2) 用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。strtok函数:sep参数是个字符串,定义了用作分隔符的字符集合 第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注: strtok函数会改变被操作的字符串,所以在使用strto
2022-03-23 16:28:44
73
原创 malloc与memset的使用方式【个人理解】
malloc函数:引用头文件 #include<malloc.h>返回值 如果分配成功返回分配的指针,否则返回null。malloc函数的使用:因为malloc函数在使用时,是不会进行类型检查的,仅仅负责开辟空间,所以需要使用的时候强制类型转换。使用格式:例如:int*arr=(int*)malloc((n+1)*sizeof(int)); 指针自身 = (指针类型*)malloc(sizeof(指针类型)*数...
2022-02-28 19:20:28
1054
原创 素数求解【个人理解】
第一种:将全部的数拿出来计算,效率较低。第二种:因为素数除了2都是奇数,所以只计算奇数的数。第三种:sqrt是根号,使用时候需要使用math,h头文件进行筛选时,首先除了2都是奇数,而且对j只需要计算到iqrt(j)即可了。条件筛选时,记得排除1....
2022-02-26 15:53:51
175
原创 【数据存储】个人笔记
常见的编程错误:编译型错误,与语法错误一样。 链接型错误,引用函数的时候,函数不存在(或者函数名书写错误) 运行时错误(需要通过调试排查错误)C 数据存储:整形类型:short—2byte—16bit 如果是有符号的,最高位表示符号位,0表示正数,1表示负数。 那么意味着unsigned short与short和sign short的大小就有区别了。 ps.char在存储时是存储ASCII码的,所以算作整形。 ps.%u用来打印unsigned型构造类型:数组类型,结构体类型
2022-02-24 21:46:22
232
原创 strlen() sizeof()size()length()个人理解
strlen()用来计算指定的字符串s 的长度,不包括结束字符"\0"。sizeof()计算对象所占内存空间的大小,包括“\0”。size()计算字符串长度之外,还可以获取vector类型的长度。length()计算字符串长度...
2022-02-10 12:13:34
194
原创 EOF 个人理解
EOF= END OF FILE(英文意思:文件结尾)EOF也可以作为while循环中的文件结束标志符,但是EOF只能是文本文件的结束标志符。在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。"scanf("%d",&n) != EOF"相当于"scanf("%d",&n) != EOF",或"~scanf("%d",&n)",或"scanf("%d",&
2022-02-10 10:38:33
988
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人