模拟实现atoi 函数

1.跳过前面的空白字符(例如空格,tab缩进)等,可以通过isspace( )函数来检测;  2.遇上数字或正负符号才开始转换,而在遇到非数字或’\0’才结束转换,并将结果返回。  3.如果 ptr不能转换成 int 或者 ptr为空字符串,那么将返回 0。  4.该函数要求被转换的字符串是按十进...

2018-08-28 16:37:25

阅读数:49

评论数:0

数据结构——快速排序

1.首先定义一个基准值:tmp =  arr[i],且让j--; 当arr[j] > tmp;时 j 不动,开始i++; 当arr[i] >tmp;时    交换arr[i]和arr[j];   当i,j相遇时,交换tmp 与 arr...

2018-08-22 15:19:52

阅读数:27

评论数:0

排序算法——归并排序

  #include<stdio.h> #include<windows.h> void MergeArray(int* arr, int left, int mid, int right, int* ...

2018-08-22 14:57:00

阅读数:43

评论数:0

数据结构——复杂链表的复制

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 对于复杂链表,一般会在next域的基础上再增加一个random域,这个指针会指向任意节点或者是一个NULL。                  ...

2018-08-22 14:56:01

阅读数:25

评论数:0

模拟实现strlen字符串长度(递归,非递归),strcpy字符串拷贝、strncpy(指定长度拷贝)、strcat(字符串拼接),strcmp(字符串比较)

strlen: #include<stdio.h> #include<windows.h> //模拟实现strlen 非递归 int mystrlen1(const char* str) { if (s...

2018-08-15 17:51:37

阅读数:74

评论数:0

宏定义

宏定义: 1.数值宏常量: 宏定义可以出现在代码的任何地方。从本行宏定义开始,之后的代码就都认识这个宏了,而且也可以把任何东西定义成宏。 #define PI 3.141592654 在之后的代码可以直接使用PI来代替这一串数字,而且最好这么做,要不然当代码中有多个这串数字,而我现在要更...

2018-08-13 15:01:39

阅读数:31

评论数:0

位运算符、++、--操作符

位运算符: $:按位与    |:按位或    ~:取反    ^:按位异或 按位异或可以实现两个变量值的交换,但是并不推荐。(a ^= b;b ^= a ;a ^= b;). 左移和右移: <<、>>...

2018-08-13 14:22:04

阅读数:25

评论数:0

C语言关键字——static、sizeof、volatile

static:(2个作用) 1、static:修饰变量: 变量又分为局部变量和全局变量,但是它们都存储在内存的静态区。 静态全局变量:作用域仅限于变量被定义的文件当中,其他文件即使使用extern声明也没有办法使用。或者说是从被定义的地方开始,一直到文件结尾都不能使用,并且在定义之前的代码行...

2018-08-13 01:58:55

阅读数:42

评论数:0

C语言——排序(冒泡、选择、插入)

typedef int(*Compare)(int a,int b);//回调函数 //从大到小(从小到大) int Greater(int a,int b) { return a > b ? 1:0; } int Less(int a,int b) { ...

2018-07-26 13:11:17

阅读数:39

评论数:0

搜索二叉树的基本操作(递归与非递归)

搜索二叉树:     在搜索二叉树中,根节点大于所有左子树节点的值,小于所有右子树节点的值。 本博客中涉及到的基本操作有: 1.递归与非递归的插入 2.递归与非递归的删除 3.递归与非递归的查找 #include<stdio.h> #inc...

2018-07-25 13:48:03

阅读数:121

评论数:0

网络——TCP协议

TCP    TCP是一种面向有连接的传输层协议,它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外TCP还能够有效的利用带宽,缓解网络拥堵。    然而,为了建立于断开连接,有时它至少需要7次的发包和收包(三次握手、四次挥手),导致网络流量的浪...

2018-07-06 11:12:54

阅读数:41

评论数:0

网络——IP协议

TCP/IP的心脏是互联网层。这一层主要是IP和ICMP两个协议组成。IP相当于OSI参考模型中的第三层——网络层。网络层的主要作用是:“实现终端节点之间的通信”,点对点通信。            ...

2018-06-21 13:49:34

阅读数:29

评论数:0

Web协议(二)

ICMP协议:ICMP协议是一个网络层协议。                                            ICMP功能:1.确认IP包是否成功到达目标地址。2.通知在发送过程中IP包被丢弃的原因。3.ICPM是基于IP协议工作的,但并不是传输层的功能。4.ICMP只能搭配...

2018-06-20 19:14:20

阅读数:30

评论数:0

Web协议(一)

以太网帧格式:            1.源地址和目的地址值得是网卡的硬件地址(MAC地址),出厂时固化。2.帧协议类型字段有三种值:IP、ARP、RARP。3.帧末尾是CRC效验码。认识MAC地址1.MAC地址用来标识数据链路层中相邻的节点2.在网卡出厂时就确定,基本不能修改。3.长度位48位,...

2018-06-20 18:05:22

阅读数:206

评论数:0

C语言: 数组元素循环右移

思路:                           因为一串数字右移自身长度后还是其本身,所以需要 右移动位数 M% 数字个数N 。也就是 M= M % N,这样就保证了M<N.在得到新的M后,可以直接输出序列从N-M号元素到N-1 号元素,然后在输出0号到N-M-1...

2018-06-15 14:55:24

阅读数:59

评论数:0

TCP协议通讯流程

服务器初始化:调用socket,创建文件描述符调用bind,将当前文件描述符和ip/port绑定在一起,如果这个端口已经被其他进程占用,便会绑定失败。调用listen,声明这个文件描述符作为服务器的文件描述符,为后面的accept做准备。调用accept,并阻塞,等待有客户链接。建立连接的过程:三...

2018-06-08 16:41:59

阅读数:84

评论数:0

二叉树的基本操作

tree.h#pragma once typedef char TreeNodeType; typedef struct TreeNode { TreeNodeType data; struct TreeNode* lchild; struct TreeNode* rchild; }...

2018-06-01 16:59:05

阅读数:30

评论数:0

比较进程和多线程TCP网络编程套接字

//服务器 #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include&...

2018-06-01 16:58:30

阅读数:37

评论数:0

TCP网络编程套接字(多进程)

//服务器 #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include&...

2018-06-01 16:49:58

阅读数:61

评论数:0

TCP网络编程套接字(单进程)

//服务器 #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include&...

2018-06-01 15:52:57

阅读数:26

评论数:0

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