<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Bill_Hao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BillHao_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BillHao_]]></copyright><item><title><![CDATA[linux子系统使用，以及gcc/g++开发环境配置]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/90677232</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/90677232</guid><author>BillHao_</author><pubDate>Wed, 29 May 2019 19:45:58 +0800</pubDate><description><![CDATA[1、设置root密码：
sudo passwd

//输入要设置的root账号密码

//再次输入要设置的root账号密码

su root

//输入刚才设置好的密码。

2、查看当前 Windows 10内置的Ubuntu系统版本
可以打开命令提示符输入 bash 进入shell后使用如下命令查询：
lsb_release -a

3、更换依赖源
https://opsx.alibaba.co...]]></description><category></category></item><item><title><![CDATA[TCP UDP的区别]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/88069666</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/88069666</guid><author>BillHao_</author><pubDate>Fri, 01 Mar 2019 22:06:44 +0800</pubDate><description><![CDATA[TCP UDPTCP与UDP基本区别&amp;nbsp; 1.基于连接与无连接&amp;nbsp; 2.TCP要求系统资源较多，UDP较少；&amp;nbsp;&amp;nbsp; 3.UDP程序结构较简单&amp;nbsp;&amp;nbsp; 4.流模式（TCP）与数据报模式(UDP);&amp;nbsp;&amp;nbsp; 5.TCP保证数据正确性，UDP可能丢包&amp;nbsp;&amp;nbsp; 6.TCP保证数据顺序，UDP不保证&amp;nbsp;　　UDP应用场...]]></description><category></category></item><item><title><![CDATA[C语言：Typedef和#define之间的区别]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87915452</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87915452</guid><author>BillHao_</author><pubDate>Mon, 25 Feb 2019 13:38:18 +0800</pubDate><description><![CDATA[Typedef和define都可以用来给对象取一个别名，但是两者却有着很大不同。
1． 首先，二者执行时间不同
关键字typedef在编译阶段有效，由于是在编译阶段，因此typedef有类型检查的功能。
Define则是宏定义，发生在预处理阶段，也就是编译之前，它只进行简单而机械的字符串替换，而不进行任何检查。
#define用法例子：
#define f(x) x*x
main( )
{
　in...]]></description><category></category></item><item><title><![CDATA[C语言：排序]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87906918</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87906918</guid><author>BillHao_</author><pubDate>Sun, 24 Feb 2019 20:03:57 +0800</pubDate><description><![CDATA[
1 直接插入排序
//形参：数组地址，数组元素个数
void InsertSort(int *a, int size)
{
	int i, j, tmp;
	for (i = 1; i &amp;lt; size; i++)
	{
		tmp = a[i];
		for (j = i - 1; j &amp;gt;= 0; j--)		
		{
			if (tmp &amp;lt; a[j])
			{
				a[...]]></description><category></category></item><item><title><![CDATA[C语言程序：用栈实现四则运算]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87737398</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87737398</guid><author>BillHao_</author><pubDate>Tue, 19 Feb 2019 21:58:48 +0800</pubDate><description><![CDATA[用栈实现四则运算
第一部分	：LinkStack.h
#ifndef LINKSTACK_H
#define	LINKSTACK_H

#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#define SUCCESS 10000
#define FAILURE 10001
#define	TRUE	10002
#define FALSE	1000...]]></description><category></category></item><item><title><![CDATA[C语言程序:建立一个升序链表并遍历输出]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87545274</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87545274</guid><author>BillHao_</author><pubDate>Sun, 17 Feb 2019 17:49:55 +0800</pubDate><description><![CDATA[题目
建立一个升序链表并遍历输出
输入描述:
输入的每个案例中第一行包括1个整数：n(1&amp;lt;=n&amp;lt;=1000)，接下来的一行包括n个整数。
输出描述:
可能有多组测试数据，对于每组数据，
将n个整数建立升序链表，之后遍历链表并输出。
示例
	输入：
	4
	3 5 7 9
	输出：
	3 5 7 9

代码
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;st...]]></description><category></category></item><item><title><![CDATA[关于C语言链表基础知识]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87481288</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87481288</guid><author>BillHao_</author><pubDate>Sat, 16 Feb 2019 23:20:46 +0800</pubDate><description><![CDATA[
								            
						
                链表和数组作为算法中的两个基本数据结构，在程序设计过程中经常用到。尽管两种结构都可以用来存储一系列的数据，但又各有各的特点。数组的优势，在于可以方便的遍历查找需要的数据。在查询数组指定位置（如查询数组中的第4个数据）的操作中，只需要进行1次操作即可，时间复杂度为O(1)。但是，这种时间上的便利性，是因为数组在...]]></description><category></category></item><item><title><![CDATA[C语言学习心得：结构体中“.”与“->”有什么区别？]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87395586</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87395586</guid><author>BillHao_</author><pubDate>Fri, 15 Feb 2019 23:08:19 +0800</pubDate><description><![CDATA[结构体中“.”与“-&amp;gt;”有什么区别？
一般情况下用“.”，只需要声明一个结构体。格式是，结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。
而用“-&amp;gt;”，则要声明一个结构体的指针，还要手动开辟一个该结构体的内存，然后把返回的指针给声明的结构体指针，才能用“-&amp;gt;”正确引用。否则内存中只分配了指针的内存，没有分配...]]></description><category></category></item><item><title><![CDATA[C语言判断数组内若干数字是否能构成等差数列]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87304275</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87304275</guid><author>BillHao_</author><pubDate>Thu, 14 Feb 2019 22:34:07 +0800</pubDate><description><![CDATA[题目描述
如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。
小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列
输入描述:
输入包括两行...]]></description><category></category></item><item><title><![CDATA[C语言简易电话簿的实现]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/87202510</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/87202510</guid><author>BillHao_</author><pubDate>Wed, 13 Feb 2019 19:47:43 +0800</pubDate><description><![CDATA[C语言简易电话簿的实现
代码如下：
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt; //sleep

#define SIZE 100
int person = 0;
int Index = -1;

typedef struct Info
...]]></description><category></category></item><item><title><![CDATA[C语言动态内存管理malloc、calloc、realloc、free的用法和注意事项]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86695908</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86695908</guid><author>BillHao_</author><pubDate>Tue, 29 Jan 2019 21:23:23 +0800</pubDate><description><![CDATA[1.void* malloc (size_t size);
malloc:分配一块size Byte大小的内存，返回一个指向该块内存开始的指针，指针类型是void。
其中size_t代表无符号整形类型例如：

int *number;number = (int *)malloc(sizeof(int));//分配一个大小为sizeof(int)的存储空间,//返回的指针需要强转成需要的类型if(N...]]></description><category></category></item><item><title><![CDATA[C语言二维数组与指针的小结]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86683489</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86683489</guid><author>BillHao_</author><pubDate>Mon, 28 Jan 2019 22:08:41 +0800</pubDate><description><![CDATA[二维数组与指针
要用指针处理二维数组，首先要解决从存储的角度对二维数组的认识问题。我们知道，一个二维数组在计算机中存储时，是按照先行后列的顺序依次存储的，当把每一行看作一个整体，即视为一个大的数组元素时，这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行，我们就称之为行数组元素，显然每个行数组元素都是一个一维数组
a[3][4] = {1,2,3,4,5,6,7,8,9...]]></description><category></category></item><item><title><![CDATA[C语言随机数：rand()和srand(time(NULL))的使用]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86660588</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86660588</guid><author>BillHao_</author><pubDate>Sat, 26 Jan 2019 20:17:03 +0800</pubDate><description><![CDATA[C语言随机数rand()简介srand()简介使用
rand()简介


使用该函数首先应在开头包含头文件&amp;lt;stdlib.h&amp;gt;
	#include&amp;lt;stdlib.h&amp;gt;   
	//(C++建议使用#include&amp;lt;cstdlib&amp;gt;)



在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数，其中RAND_MAX 是stdlib.h 中定义...]]></description><category></category></item><item><title><![CDATA[C语言基础——32个关键字]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86651223</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86651223</guid><author>BillHao_</author><pubDate>Fri, 25 Jan 2019 19:54:46 +0800</pubDate><description><![CDATA[关键字类型



  auto
  break
  case
  char
  const
  continue
  default
  do



  oouble
  else
  enum
  extern
  float
  for
  goto
  if


  int
  long
  register
  short
  signed
  sizeof
  static
  retu...]]></description><category></category></item><item><title><![CDATA[循环结构中 continue 和 break 的使用]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86632171</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86632171</guid><author>BillHao_</author><pubDate>Thu, 24 Jan 2019 19:40:13 +0800</pubDate><description><![CDATA[continue 和 break 的使用

continue语句
作用为结束本次循环，即跳过循环体中下面尚未执行的语句，接着进行下一次是否执行循环的判定.

#include &amp;amp;lt;stdio.h&amp;amp;gt;
int main()
{
	int i;
	for (i = 0; i &amp;amp;lt; 5; i++)
	{
		if (3 == i)
		{
			continue;  //结束本次循环，继续下...]]></description><category></category></item><item><title><![CDATA[Vim基础操作]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86615532</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86615532</guid><author>BillHao_</author><pubDate>Wed, 23 Jan 2019 18:25:00 +0800</pubDate><description><![CDATA[
		
								            
						
Vim基础操作汇总 
文件命令
命令
操作
vim file
打开文件
vim file1,file2,file3
同时打开多个文件
:open file
在新窗口中打开文件
:bn
切换到上一个文件
:bp
切换到下一个文件
:args
查看当前打开的文件列表
:w filename
保存到filename
:#,# w filen...]]></description><category></category></item><item><title><![CDATA[C语言编程:100!的末尾有多少个零]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86599476</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86599476</guid><author>BillHao_</author><pubDate>Tue, 22 Jan 2019 18:40:38 +0800</pubDate><description><![CDATA[100!的末尾有多少个零?


问题分析:
因为计算机所能表示的整数范围有限,所以无法直接通过计算获得结果,因此只能间接通过其他方法计算.


算法设计:
为了解决这个问题,必须首先从数学上分析在100!结果值的末尾产生零的条件:一个整数若含有因子25,则必然会在求100!是产生一个零.
因此问题转换为1~100咋这100个整数中包含了多少个25因子.又因为100个整数中2的因子远比5的因子多,则...]]></description><category></category></item><item><title><![CDATA[Linux常用命令（二）]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86570849</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86570849</guid><author>BillHao_</author><pubDate>Mon, 21 Jan 2019 13:39:49 +0800</pubDate><description><![CDATA[
								            
						
                Linux必学的60个命令
Linux提供了大量的命令，利用它可以有效地完成大量的工作，如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以，在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统，就必须从Linux命令学起，通过基础的命令学习可以进一步理解Linux系统。
不同...]]></description><category></category></item><item><title><![CDATA[Linux常用命令（一）]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86563791</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86563791</guid><author>BillHao_</author><pubDate>Sun, 20 Jan 2019 21:02:10 +0800</pubDate><description><![CDATA[Linux常用命令用户管理命令
用户管理命令

useradd test：添加test用户
userdel -r test：删除test用户（-r    同时删除/home/内的用户目录）
passwd test：修改test用户密码
su test：切换test用户



...]]></description><category></category></item><item><title><![CDATA[Linux根目录文件夹说明]]></title><link>https://blog.youkuaiyun.com/BillHao_/article/details/86562014</link><guid>https://blog.youkuaiyun.com/BillHao_/article/details/86562014</guid><author>BillHao_</author><pubDate>Sun, 20 Jan 2019 14:42:11 +0800</pubDate><description><![CDATA[Linux根目录文件夹说明

/bin：存放二进制可执行文件
/dev：存放设备文件（一个设备文件对应一个硬件设备）
/lib：存放库文件
/mnt：用于存放挂载储存设备的挂载目录的，比如磁盘，光驱，网络文件系统等
/root：Linux最高权限用户root的家目录
/sys、/procp：存放内核信息（应用程序开发一般不用）
/tmp：临时目录，关机后目录里所有内容被清空
/home：普通用户对...]]></description><category></category></item></channel></rss>