- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 二分查找法求平方根
#include <stdio.h>#include <math.h>double my_sqrt(double x) { double head = 0,tail = x, mid; if (x < 1.0) tail = 1.0; #define EPSL 1e-7 while (tail - head > EPSL) { mid = (head + tail) / 2.0; if (mid * mid < x
2021-02-27 18:23:22 392
原创 二分查找法
#include <stdio.h>int binary_search (int *arr, int n, int x) { int min = 0, max = n - 1; while (min <= max) { int mid = (min + max) / 2; if (arr[mid] == x) return mid; if (arr[mid] < x) min = mid + 1; else max = mid -
2021-02-24 14:22:59 72
原创 定义宏 一组测试
#include <stdio.h>#define MAX(a,b) ({\ __typeof(a) _a = (a);\ __typeof(b) _b = (b);\ _a > _b ? _a : _b;\ })#define P(func) {\ printf("%s = %d\n", #func, func);\}int main() { int a = 7; P(MAX(2,3)); P(5
2021-02-23 18:50:39 65
原创 简版printf函数实现
#include <stdio.h>#include <stdarg.h>#include <inttypes.h>int reverse(int n, int *temp) { int digit = 0; do { *temp = *temp * 10 + n % 10; n /= 10; digit++; } while (n); return digit;}int output_num(in
2021-02-21 18:18:21 187
原创 变参函数
利用变参函数解决输出最大数问题#include <stdio.h>#include <inttypes.h>#include <stdarg.h>#define P(func){\ printf("%s = %d\n", #func, func);\}int max_int(int n, ...) { int ans = INT32_MIN; va_list arg; va_start(arg, n); while (n--) {
2021-02-19 11:52:41 46
原创 计算机网络 TIME_WAIT TCP关闭
time-wait开始的时间为tcp四次挥手中主动关闭连接方发送完最后一次挥手,也就是ACK=1的信号结束后,主动关闭连接方所处的状态。然后time-wait的的持续时间为2MSL. MSL是Maximum Segment Lifetime,译为“报文最大生存时间”,可为30s,1min或2min。2msl就是2倍的这个时间。工程上为2min,2msl就是4min。但一般根据实际的网络情况进行确定。作用1:为了保证客户端发送的最后一个ack报文段能够到达服务器。因为这最后一个ack确认包可能会丢失..
2021-02-05 00:05:08 2126
原创 计算机网络 socket阻塞非阻塞
1.阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。 非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。2.Socket是什么呢?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让So.
2021-02-04 23:37:39 596
原创 计算机网络 HTTP工作机制 TCP三次握手四次挥手 TCP滑动窗口
1.HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向事务的应用层协议。它规定了在浏览器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件的重要基础。从协议执行过程来说,浏览器要访问www服务器时,首先要完成对www服务器的域名解析。一旦获得了服务器的IP地址,浏览器就通过TCP向服务器发送连接建立请求。每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80(默认),当监听到连接请求后便与浏览器建立连.
2021-02-04 23:27:52 596
原创 计算机网络 DNS协议 FTP DHCP
1.DNS协议则是用来将域名转换为IP地址。DNS采用客户/服务器模型,协议运行在UDP上,使用53号端口。从概念上可以将DNS分为3部分:层次域名空间,域名服务器和解析器。层次域名空间:因特网采用层次树状结构的命名方法。任何一个连接到因特网的主机或路由器都有一个唯一的层次结构名称,即域名。域是名字空间中一个可被管理的划分。域可以划分为子域,子域可被继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。顶级域名分为三类:(1)国家顶级域名。国家和某些地区的域名。(2)通用顶级域名。.co..
2021-02-02 19:46:35 408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人