<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Y_skepticism的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Y_skepticism</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Y_skepticism]]></copyright><item><title><![CDATA[网络通信 UDP 简单c_s 通讯]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/100897278</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/100897278</guid><author>Y_skepticism</author><pubDate>Mon, 16 Sep 2019 18:39:22 +0800</pubDate><description><![CDATA[server端:
#include&lt;stdio.h&gt;
#include&lt;unistd.h&gt;
#include&lt;sys/types.h&gt;
#include&lt;sys/socket.h&gt;
#include&lt;netinet/in.h&gt;
#include&lt;string.h&gt;
 #include &lt;arpa/inet.h&gt;
t...]]></description><category></category></item><item><title><![CDATA[网络通信 TCP 简单c_s 通讯]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/100897076</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/100897076</guid><author>Y_skepticism</author><pubDate>Mon, 16 Sep 2019 18:32:49 +0800</pubDate><description><![CDATA[server端:
#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;string.h&gt;

int main()
{
	printf("服务...]]></description><category></category></item><item><title><![CDATA[String类的四个默认成员函数————C++的有参、拷贝、赋值、析构实现String]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/100049270</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/100049270</guid><author>Y_skepticism</author><pubDate>Sat, 24 Aug 2019 09:56:28 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;string.h&gt;

using namespace std;

class A
{
	char* c_str;//用于保存字符串
public:
	//无参构造
	A(void)
	{
		c_str = new char[1];
		c_str[0]='\0';
	}

	//有参构造
	A(const char*...]]></description><category></category></item><item><title><![CDATA[C++ 拷贝构造与赋值构造]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684855</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684855</guid><author>Y_skepticism</author><pubDate>Fri, 16 Aug 2019 20:21:58 +0800</pubDate><description><![CDATA[拷贝结构 dome4.cpp
拷贝构造又称为复制构造，是一种特殊的构造函数，它是使用一个现有的对象来构造一个新的对象，只有一个引用型的参数(对象本身)。
类名(类&amp; )
{

}

拷贝构造的参数应该加const保护，但编译器并没有强制限制。
编译器会自动生成一个拷贝构造函数，负责把旧对象中的所有数据拷贝给新对象。
深拷贝与浅拷贝
	如果类成员中有指针，浅拷贝只拷贝指针变量的值，深拷贝是指...]]></description><category></category></item><item><title><![CDATA[C++   this 指针与常函数]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684722</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684722</guid><author>Y_skepticism</author><pubDate>Fri, 16 Aug 2019 20:11:41 +0800</pubDate><description><![CDATA[一、this指针
类的成员变量单独存储在每个类对象中，成员函数存储在代码段中，所有的类对象共享一份成员函数。
成员函数是如何区别调用它的是哪个类对象的？
答：借助了this指针，类的每个成员函数都有一个隐藏的参数this指针，它指向类对象

类的构造函数中也同样有this指针，指向的就是正在的构造的这个对象。
在类中(成员函数、构造、析构)对成员变量，成员函数的访问都是借助了this指针。
thi...]]></description><category></category></item><item><title><![CDATA[C++   类、对象、构造函数、初始化列表]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684594</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684594</guid><author>Y_skepticism</author><pubDate>Fri, 16 Aug 2019 19:57:45 +0800</pubDate><description><![CDATA[面向过程编程：
	关注是问题解决的过程步骤（事情是如何解决的），算法。

面向对象编程：
关注的是谁能解决问题(类)，需要什么样的数据（成员变量），具备什么样的技能（成员函数）才能解决问题。

抽象：  
	找出一个能够解决问题的"对象"(观察研究对象)，找出解决所必须的数据（属性）、功能（成员函数）。

封装：
	把抽象的结构，归结为一个类（数据类型），然后实例化出类对象，设置对象的属性，调用对...]]></description><category></category></item><item><title><![CDATA[C++的简单介绍 以及与C语言的不同]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684450</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99684450</guid><author>Y_skepticism</author><pubDate>Fri, 16 Aug 2019 19:48:38 +0800</pubDate><description><![CDATA[一、C++介绍
本加尼·斯特劳斯特卢普，与1979年4月份贝尔实验室的本贾尼博士在分析
UNIX系统分部内核流量分析时，希望有一种有效的模块化的工具。

1979年十月完成了预处理器Cpre，为C增加了类机制，也就是面向对象，
1983年完成了C++的第一个版本，C with classes也就是C++。

C++与C的不同点：
1. C++完全兼容C的所有内容
2. 支持面向对象编程思想
3. ...]]></description><category></category></item><item><title><![CDATA[标准C语言---------对文件的操作]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99607443</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99607443</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:32:51 +0800</pubDate><description><![CDATA[文件分类：
文本文件:记录的是字符串的二进制

二进制文件：直接把数据补码记录到文件中
磁盘只能存储二进制数据。

文件文件中存储的是ASCII码的二进制，先把数据转换成字符中，
再写入到文件中，可以直接被文本编辑器打开。

二进制文件中存储的数据的二进制，直接把数据的二进制存储到文件中，
无法直接通过文件编辑器查看。

文件I/O函数：
FILE *fopen(const char *path,...]]></description><category></category></item><item><title><![CDATA[Makefile脚本以及简单的GDB调试]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99607049</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99607049</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:27:48 +0800</pubDate><description><![CDATA[Makefile脚本
把用于编译的命令记录到文件中。
当多个文件程序时，编译会变得异常麻烦，而Makefile文件中可以把编译指令记录下来，
当执行make命令时会自动把Makefile中的编译指令进行执行。
使用make进行编译时会根据文件的修改时间来确定，
.c文件是否需要再次编译，如果不是新修改的文件不需要重复编译。

注意：
必须使用tab键缩进，否则会产生 *** 遗漏分隔符 。

Ma...]]></description><category></category></item><item><title><![CDATA[C语言 结构体基础知识]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606838</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606838</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:25:41 +0800</pubDate><description><![CDATA[什么是结构：
是一种程序员自己设计数据类型，由若干个不同的数据类型组成，可用于描述一个事物各项数据。

1.设计结构(设计数据类型)：// 仅仅是一种数据类型
typedef struct 结构名
{
	类型1 成员名1;
	类型2 成员名2;
	类型3 成员名3;
	...
}结构名;

typedef struct Student
{
	char name[20];
	char sex;
	s...]]></description><category></category></item><item><title><![CDATA[C语言 关于头文件的知识]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606279</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606279</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:20:00 +0800</pubDate><description><![CDATA[预处理指令：
在C语言中以#开头的语句都叫做预处理指令，因为这些不是标准的C代码，
不能被编译器直接编译，需要一段程序把它翻译成标准的C代码，
负责翻译在程序叫预处理器，翻译的过程叫预处理。

gcc -E code.c 把预处理的结果显示在终端上。
gcc -E code.c -o code.i 把预处理的结果存储到文件中。
	-o 为执行结果重命名

1、文件包含
	#include&lt;&...]]></description><category></category></item><item><title><![CDATA[C语言 字符串相关的简单知识]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606143</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99606143</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:16:59 +0800</pubDate><description><![CDATA[什么是字符串
由于字符组成的串型数据结构，以'\0'作为结束标志。

字符串为什么重要：
	我们看到的都是字符型数据，而计算机只能针对数值型数据进行运算，因此我们需要非常频繁的把数据转换成字符串，字符串转换成数据。

字符串存在的形式：
1.字符数组：
	char arr[5] = {'h','e','l','l','o'}; // error
	char arr[6] = {'h','e','l...]]></description><category></category></item><item><title><![CDATA[C语言 指针的基本知识]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605941</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605941</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:13:49 +0800</pubDate><description><![CDATA[内存的单位：
bit 一个bit位能存储1个二进制 内存的最小单位。
1byte ＝ 8bit，一次性使用的最小单位，操作系统会为每个字节分配一个编号（天然按位置排列）。
1kb ＝ 1024byte
1mb ＝ 1024kb
1gb ＝ 1024mb
1tb ＝ 1024gb
1pt ＝ 1024tb
什么是指针：
指针变量的取值范围取值0~4G
指针是一种数据类型（无符号整数，代表了内存编号）...]]></description><category></category></item><item><title><![CDATA[程序在内存中的分布以及修饰变量的关键字]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605669</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605669</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:10:26 +0800</pubDate><description><![CDATA[程序在内存中的分布情况：
一个程序运行后在内存中会划分成不同的内存段，与编程相关有：
代码段		text：二进制指令（if/for/函数），具有const属性且被初始化过的全局静态变量、字符串字面值，只读权限（不能修改）
只读段：用来存储常量，一旦被修改就会产生段错误。
全局数据段	data：存储被初始化过的全局变量。
静态数据段	bss：存储没有被初始化过的全局变量和静态变量，程序运行后这段内存...]]></description><category></category></item><item><title><![CDATA[C语言 函数的简介]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605498</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99605498</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 20:08:08 +0800</pubDate><description><![CDATA[函数：
函数是C语言中管理代码的最小单位，命名空间独立，栈空间独立。
函数被调用时开辟栈内存，函数结束后释放栈内存。
声明：返回值 函数名(类型1,类型2,…);
定义：返回值 函数名(类型1 参数名1,类型2 参数名2,…)
{
函数体
}
注意：函数的定义如果出现调用之前，声明可以忽略。调用函数时如果没有找到函数声明，也没有定义，编译器也不报错，而是先猜测函数的格式，链接时再尝试寻找函数的定义...]]></description><category></category></item><item><title><![CDATA[C语言 有关数组的知识]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99603118</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99603118</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 19:45:06 +0800</pubDate><description><![CDATA[数组：
什么是数组：数组就相同类型变量的组合，它是一种指定义变量的方法。
一维数组：把变量排成一排。
定义：类型 数组名[数量]：
int arr[5]; // 数字表示的是变量的数量
int num1,num2,num3,num4,num5;
注意：数组定义后，默认值不确定。
使用：数组名＋编号（下标）
arr[0],arr[1],arr[2],arr[3],arr[4] // 数字表示编号
注...]]></description><category></category></item><item><title><![CDATA[C语言基本介绍]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99602619</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99602619</guid><author>Y_skepticism</author><pubDate>Wed, 14 Aug 2019 19:40:53 +0800</pubDate><description><![CDATA[C语言简介：
时间：1970～1973 作者：丹尼斯.里奇 肯.汤普逊 地点：贝尔实验室
目的：编写操作系统 UNIX-&gt;Linux BCPL-&gt;newB-&gt;C
特点：速度快，语法简洁（32个关键字），功能强大（对硬件支持）。
缺点：可用的库少，由于语法简洁导致代码不易阅读。
第一C程序：
程序员所编写代码不是标准C代码，不能直接编译，它一段把它翻译成标准的C代码，负责翻译的程序...]]></description><category></category></item><item><title><![CDATA[Unix环境下C语言  server_client_tcp_文件传输]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/99471023</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/99471023</guid><author>Y_skepticism</author><pubDate>Tue, 13 Aug 2019 20:41:53 +0800</pubDate><description><![CDATA[实现	server_client_tcp_文件传输的五个基本功能：
list  cd  mkdir  put（上传） get（下载）
server(服务端)
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;string.h&gt;  
#include&lt;sys/socket.h&gt;
#include&lt;neti...]]></description><category></category></item><item><title><![CDATA[C语言 堆排序]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/97508470</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/97508470</guid><author>Y_skepticism</author><pubDate>Sat, 27 Jul 2019 13:33:52 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdbool.h&gt;

#define swap(a,b) {typeof(a) t=a; a=b; b=t;}	//定义一个swap用于交换，便于使用

/*堆排序：
		首先把数据构当作完全二叉树，然后保证根点最大，然后把根结点与最后一个元素交换，
	然后再调整...]]></description><category></category></item><item><title><![CDATA[C语言 二分查找]]></title><link>https://blog.youkuaiyun.com/Y_skepticism/article/details/97508410</link><guid>https://blog.youkuaiyun.com/Y_skepticism/article/details/97508410</guid><author>Y_skepticism</author><pubDate>Sat, 27 Jul 2019 13:33:10 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdbool.h&gt;

/*
二分查找：前提就是数据必须有序，然后从数据的中间位置开始查起，如果中间值比key小，
则从中间值位置开始继续查找，反之刚从开头到中位置查找，重复以上过程直到结束。
从代码实现上来说，既可以用循环实现，也可以用递归实现。
*/
int _...]]></description><category></category></item></channel></rss>