C语言
文章平均质量分 82
mac_timmy
这个作者很懒,什么都没留下…
展开
-
C语言中整型和浮点型数据在内存的存储
一、整型数据的分类 类型 字节数 输出格式 unsigned int 4 %d [signed] int 4 %u unsigned short [int] 2 %hd [signed] short [int] 2 %hu unsigned long [int] 4 (32位) 8 (64位) ...原创 2017-07-25 20:36:42 · 2088 阅读 · 0 评论 -
HTTP协议解析-实现超简单的多线程版本HTTP服务器
http协议是一个应用层的协议,https是一个安全性更高的协议。本文讲述http协议的报头、报头属性以及实现一个简单的http服务器。url在认识http之前,我们有必要认识url。url就是我们常说的网址。...原创 2018-08-03 23:07:25 · 2208 阅读 · 0 评论 -
Linux中时间的设置
个人博客传送门test: CentOS Linux release 7.4.1708 (Core)查看时区 date -R +0800 表示在东八区 其中: CST:中国标准时间(China Standard Time),这个解释可能是针对RedHat Linux。 UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”Universal...原创 2018-03-08 20:42:13 · 6861 阅读 · 3 评论 -
查看Linux系统版本信息
个人博客传送门查看内核版本cat /proc/version uname -a 查看系统版本cat /etc/redhat-release lsb_release -a这个命令需要安装,安装命令: yum install lsb -y cat /etc/issue 都说可以,这个我的查出来很奇怪 rpm -q centos-release ...原创 2018-03-08 20:47:03 · 1323 阅读 · 0 评论 -
经典排序算法
个人博客传送门 排序的分类有很多种,有很多的排序方法,这里只列举了七八种常见的排序算法。 交换排序冒泡排序冒泡排序的思路(升序):比较相邻的两个元素,如果第一个比第二个元素值要大,交换两者位置。指向第二个元素。一趟比较下来,最大的元素应该位于序列的最尾端进行下一趟比较,此时就不需要将最大的元素纳入范围,因为它已经在适合的位置了。重复直到全部完成。如图: ...原创 2018-07-16 22:16:08 · 233 阅读 · 0 评论 -
Linux下简易彩色进度条
个人博客传送门前言在Linux下安装文件的时候,都会有个进度条来提示我们安装的进度是多少。这里我们模拟输出这个进度条。主要用到输出函数的操作、缓冲区的刷新、usleep函数、linux终端颜色的显示等知识。 效果如下: 铺垫知识点缓冲区 缓冲区分位三种:无缓冲,行缓冲,全缓冲。 无缓冲:没有缓冲,也就是信息在输入输出的时候,立马输入或输出。典型的代表就是标准错误流std...原创 2018-03-19 21:16:55 · 323 阅读 · 0 评论 -
C语言输入输出函数详解
个人博客传送门总览错误报告函数:void perror( char const* str );终止执行函数:void exit( int status );打开文件函数:FILE* fopen( char const* filename, const char* mode );关闭文件函数:int fclose( FILE* stream );输入输出函数总览字符输入函数...原创 2018-03-22 18:22:58 · 921 阅读 · 0 评论 -
复杂单链表的复制
复杂单链表的复制原创 2017-11-08 20:22:17 · 330 阅读 · 0 评论 -
C语言指针和数组对比
一、指针一级指针我们通常说到指针的时候,指的就是一级指针。1、提几点指针中容易混淆、不易分辨的知识点:声明的时候int *p; int * 指的是类型名,此时的*p指的是这个 p 是指针类型,int再进一步说明p是整型的指针变量。当我们在调用的时候,p是指针变量,p = a;p指向变量 a 的空间;*p = 10;此时的*表示解引用,即*p代表 p 指针所指向的空间中的内容—原创 2017-08-01 23:03:38 · 673 阅读 · 0 评论 -
C语言的一维数组和二维数组解析
小结了一维数组和二维数组的创建与初始化、使用、存储、指针访问和几个小点原创 2017-07-14 13:49:25 · 1291 阅读 · 0 评论 -
井字棋(三子棋)的C语言实现
三子棋的C实现一、实现思路1、初始化数组 三子棋是九宫格的格式,所以用二维数组接收数据。用‘O’代表电脑下的子,‘X’代表玩家下的子。未下子的时候初始化 ’ ‘(space)。则二维数组为“char”类型,大小为char board[3][3]。2、打印棋盘 打印出井字的棋盘,同时为了将数据显示在每格的中间,用空格隔开(“ %c |”)的格式设置棋盘“|”用来形...原创 2017-07-21 20:44:16 · 3359 阅读 · 0 评论 -
二分查找(折半查找)和猜数字小游戏
一、二分查找1、二分查找的思想前提:二分查找的序列一定是按照升序或降序排列,不然无法使用。定义left指向第一个元素,right指向最后一个元素,mid指向中间元素(mid = left+(right-left)>>1) 定义Size = sizeof(arr)/sizeof(arr[0]) 可以求得数组的整个长度,right = Size -1;Size 只能在函数...原创 2017-07-22 10:52:27 · 2854 阅读 · 0 评论 -
单链表判环的三种情况
单链表的带环问题单链表的相交问题(链表没有环、至少一个带环)原创 2017-11-05 19:51:44 · 953 阅读 · 0 评论 -
单链表题集
零、声明typedef int DataType;typedef struct ListNode{ DataType data; struct ListNode* next;}ListNode;一、从尾到头打印单链表利用递归的思想,在遇到尾节点之前不返回。void PrintTailFront(ListNode *list){ if ...原创 2017-09-25 16:47:18 · 426 阅读 · 0 评论 -
C语言函数的调用过程(栈帧)
小结关于函数调用的过程中,内存是怎么安排。栈帧(栈空间的使用)原创 2017-08-10 22:04:55 · 579 阅读 · 0 评论 -
网络编程基础-简单的TCP回显程序(多进程和多线程版本)
这篇文章是对于上一篇文章的单进程版本的优化。不过这里采用的是回显方式,不是阻塞式聊天。客户端使用的同一个客户端代码。客户端代码多进程服务器端#include <stdio.h>#include <stdlib.h>#include <string.h>#include <strings.原创 2018-08-03 11:46:51 · 392 阅读 · 2 评论