- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 C语言学习总结
指针:可执行程序是由指令、数据和地址组成的。内存单元的地址就是所谓的“指针”的值。指针本身是一种变量,和常见的整型变量、浮点型变量、字符变量等没有什么本质的区别,只是它们的类型和值得含义不同,具有不同的解释方式。在二进制层面上,指针的值实际上就是内存单元的地址,而指针变量又是引用内存单元的值的别名,因此,在语言层面上,指针的值就是变量的地址。指针的类型为一个类型名和一个字符“”的组合。int 一个int类型的指针,也即为一个类型为int的指针。可以使用typedef把不同的指针类型定义,然后..
2020-10-15 09:59:36 160
原创 C语言-题目
C语言-题目单选题:32位机系统关于sizeof 的使用不正确的是 __【A】 int count=0; 【B】 int count=0;sizeof(count); sizeof int;【C】 int count=0; 【D】 int count=0;sizeof count ; sizeof(int);【参考答案】B不正确 sizeof作为C语言的关键字,当计算变量的大小时,括号可以省略,但是计算数据类型的
2020-10-15 09:50:27 563
原创 C语言-编程题
C语言编程题链表题实现函数ListNode *ReverseList(ListNode *pHead);,输入一个单向链表的头节点,反转该链表,并返回反转后链表的头节点;如果输入链表为NULL,或者链表中存在环路,则返回NULL。已有函数(可直接调用)BOOL CircleInList(ListNode *pList);,判断输入的单向链表是否存在环路;如果输入节点为NULL,返回FALSE。ListNode类型定义如下: typedef struct list_node_tag {
2020-10-15 09:45:50 207
原创 C语言-改错题
C语言改错题1、指出错误并****改正****:#include <stdlib.h>#include <string.h>#include <stdio.h>enum { MAX_ALLOCATION = 1000 };int main(int argc, const char *argv[]) {char *c_str = NULL;size_t len;if (argc == 2) { len = strlen(argv[1]) + 1
2020-10-15 09:45:24 720
原创 C语言-填空题
C语言填空题1、完善以下升序插入排序的代码:插入排序:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。void insertSort(int *a, int n){int tmp = 0, p = 0;for (int i = 1; i < n; i++){ tmp = a[i]; p = i - 1; while (p >= 0 && tmp < a[p]) { a[p
2020-10-15 09:44:42 369
原创 C语言-多选题
C语言多选题1、若有字符串char *string和缓冲区char buf[MAX_LEN],string非空,并且缓冲区长度MAX_LEN大于string的长度,则将字符串string复制到缓冲区buf,下列做法正确的是( AB )A) sprintf(buf, “%s”, string);B) strncpy(buf, string, MAX_LEN - 1);C) snprintf(buf, MAX_LEN, string);D) strncpy(buf, string, strlen
2020-10-15 09:44:08 2448
原创 C语言-单选题
C语言单选题1、64位系统下,以下代码输出结果是( B )void func ( ) {char a[10];int x = (int *)&a[10];int y = (int *)&a[40];printf ("%d\n", y - x);}A) 8 B) 30 C) 120 D) 以上都不对2、下列关于字符串拷贝函数说法错误的是( B )原型声明:char strcpy(char dest, const char *src);char *strncp
2020-10-15 09:42:46 1029
原创 Redis命令
Redis部署解压tar -xzvf redis-5.0.5.tar.gz重命名mv redis-5.0.5 redis安装编译#安装到指定目录makemake PREFIX=/usr/local/redis install修改相关配置#创建存放数据的目录mkdir -p /data/db_redis配置文件中“dir ./”修改为“dir /data/db_redis”#绑定ip修改配置文件中注释掉“bind 127.0.0.1”#允许远程访问配置文件中“protec
2020-10-14 10:58:06 225
原创 Linux命令
Linux命令关机poweroff显示隐藏文件ls/ll -d显示全部文件ls/ll -a使用 du查看某个文件或目录占用磁盘空间的大小du -ah --max-depth=1查找文件查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print-name filename #查找名为filename的文件建立快捷方式view .bashrc alias s
2020-10-14 10:57:15 200
原创 Mongodb学习-命令
mongodb数据库操作进入数据库use erde认证db.auth('admin', 'admin')db.siglib_bin_file.files.find({"key":"value"})常用操作查看各个表的容量db.d1.find().count()db.https_sni.find().count()db.ip_database.find().count()db.dns_ip.find().count()db.signature_record.find().coun
2020-10-14 10:47:50 72
原创 Git学习-命令
Git命令提交Gerrit评审git push origin HEAD:refs/for/master直接推入Git库git push origin HEAD:refs/heads/master更新代码重新触发修改git fetch origin master:tmpgit rebase tmpgit commit --amend已有代码修改,再次修改git add 修改文件git commit --amendgit fetch origin master:tmpgit r
2020-10-14 10:18:20 112
原创 一个网络数据传输流程的例子
一个网络数据传输流程的例子以使用某app软件为例,来分析它的具体数据传输流程。DNS首先,当我们第一次登陆该app时候,需要进行数据初始化,此时,我们需要连接到服务器,我们需要查询DNS服务器来获取域名所对应的IP,下图为DNS请求报文。图1 DNS请求报文该报文要通过本地的局域网网关才能将请求报文转发出去,因此我们查找本地路由表,将数据发送往网关。图2 本地路由表本地网关为192.168.1.121,因此,我们需要将报文发往121。ARP通过查询arp缓存,发现没有存储12
2020-09-30 14:20:16 675
原创 TCP分段重组和IP分片重组
TCP分段重组过程 TCP分段,数据传输到传输层的时候,受MSS(为MTP-IP首部长度)限制,将对数据进行分段。每一段分别添加TCP首部,数据1的长度=MSS-TCP首部长度。 TCP重组时,先依次解每一层的头部,到达传输层时,按照之前分段的序列号seq进行报文重组。 例如,当前数据总长度为500,MTU=500,TCP头部20字节,IP头部20字节,数据1对应报文的当前序列号seq = 1,则:MSS = 480,sdulen1 = 460,sdulen2 = 40,数据2对应的报文...
2020-09-30 11:39:10 5112 1
原创 TCP/IP协议栈相关问题总结
TCP/IP协议栈相关问题总结 以太网帧有最小长度要求,要求最少有46个字节,而ARP协议请求或应答分组格式固定为28个字节,怎么满足以太网帧要求的最小长度?答:为了满足以太网帧要求的最小长度,在ARP协议分组报文之后插入填充(pad)字节,通常为18个字节的填充位。 IP数据报的检验和是如何计算的?答:首先把检验和字段置为0,然后对首部中每个16bit进行二进制反码求和,将结果存在检验和字段中,当接收方收到一份IP数据报后,同样对首部中的每个16bit进行二进制反码求和,如果结果
2020-09-30 11:36:34 397
原创 HTTPS加密协议学习总结
HTTPS协议1 HTTPS协议基本概念HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),就是HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http,用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公
2020-09-30 10:58:42 225
原创 HTTP超文本传输协议学习总结
HTTP协议1 HTTP协议基本概念HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以
2020-09-30 10:38:37 225
原创 FTP文件传输协议学习总结
FTP协议1.1 FTP协议基本概念互联网文件传输协议(File Transfer Protocol ,FTP) 标准是在RFC959说明的。该协议定义了一个从远程计算机系统和本地计算机系统之间传输文件的一个标准。一般来说,传输文件的用户需要先经过认证以后才能登录网站,然后方能访问在远程服务器的文件。而大多数的FTP服务器往往提供一个GUEST的公共帐户来允许没有远程服务器的用户可以访问该FTP服务器。一个FTP会话通常包括五个软件元素的交互。如图1.1展示了FTP的一种基本框架。图1.1 FTP
2020-09-30 10:31:44 1108
原创 TCP传输控制协议学习总结
TCP传输控制协议TCP协议是一种面向连接的、可靠的字节流服务。TCP协议提供了多种机制来保证数据传输的可靠性。1 .TCP报文格式16位源端口号16位目的端口号32位序列号32位确认号4位首部长度保留(6位)URGACKPSHRSTSYNFIN16位窗口大小16位TCP检验和16位紧急指针选项(若有)数据(若有)源端口:标识主机上发起传
2020-09-30 10:21:14 279
原创 TCP/IP协议栈学习总结
*TCP/IP学习总结_1**1.TCP/IP协议概述**1.1 TCP/IP分层*通常分不同层次进行开发,每一层负责不同的通信功能。TCP/IP协议族就是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统。如图1.1所示。图1.1 TCP/IP协议族4个层次每一层分别负责不同的通信功能:链路层通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层,主要是做路由的功能,有时也称作互联网层,处理分组在网络
2020-09-30 10:04:21 741 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人