<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[evoke_c的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/evoke_c</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; evoke_c]]></copyright><item><title><![CDATA[linux进程概念]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123332745</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123332745</guid><author>evoke_c</author><pubDate>Mon, 14 Mar 2022 19:38:51 +0800</pubDate><description><![CDATA[管理的理念：先描述，在组织，可以转化成对目标的管理，转化成为对数据的管理


]]></description><category></category></item><item><title><![CDATA[简单了解操作系统]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123328682</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123328682</guid><author>evoke_c</author><pubDate>Mon, 07 Mar 2022 15:22:28 +0800</pubDate><description><![CDATA[冯诺依曼体系结构
我们常见的计算机，如笔记本。我们不常见的计算机，如服务器，大部分都遵守冯诺依曼体系。

截至目前，我们所认识的计算机，都是有一个个的硬件组件组成


输入设备：键盘，磁盘，网卡，显卡，话筒，摄像头等
输出设备：显示器，磁盘，网卡，显卡，音响等
存储器（内存）
运算器&amp;&amp;控制器(CPU)


关于冯诺依曼，必须强调几点：


这里的存储器指的是内存
不考虑缓存情况，这里的CPU能且只能对内存进行读写，不能访问外设(输入或输出设备)
外设(输入或输出设备)要输入或者输出数据，也]]></description><category></category></item><item><title><![CDATA[Linux环境基础开服工具使用]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123298058</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123298058</guid><author>evoke_c</author><pubDate>Sun, 06 Mar 2022 21:30:29 +0800</pubDate><description><![CDATA[Linux 软件包管理器 yum
什么是软件包

··在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
··但是这样太麻烦了,于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上,
··通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装. 软件包和软件包管理器, 就好比 “App” 和 "应用商店"这样的关系.
··yum(Yellow dog Updater, Modified)是Linux下]]></description><category></category></item><item><title><![CDATA[string类的介绍与使用【STL】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123215498</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123215498</guid><author>evoke_c</author><pubDate>Fri, 04 Mar 2022 12:51:11 +0800</pubDate><description><![CDATA[1. 什么是string类
string 是 STL 六大组件中的容器中的一个， 那么
1.1 什么是STL呢？

STL(standard template libaray-标准模板库)：是C++标准库的重要组成部分，不仅是一个可复用的组件库，而且是一个包罗数据结构与算法的软件框架。


在工作中网上有句话说：“不懂STL，不要说你会C++”。STL是C++中的优秀作品，有了它的陪伴，许多底层的数据结构以及算法都不需要自己重新造轮子，站在前人的肩膀上，健步如飞的快速开发。
1.2 如何学习STL呢？

第]]></description><category></category></item><item><title><![CDATA[模板初阶【C++】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123191548</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123191548</guid><author>evoke_c</author><pubDate>Tue, 01 Mar 2022 11:24:09 +0800</pubDate><description><![CDATA[1. 泛型编程
如何实现一个通用的交换函数呢？
void Swap(int&amp; left, int&amp; right)
{
	int temp = left;
	left = right;
	right = temp;
}
void Swap(double&amp; left, double&amp; right)
{
	double temp = left;
	left = right;
	right = temp;
}

void Swap(char&amp; left, char&amp; ]]></description><category></category></item><item><title><![CDATA[Linux权限（演示）]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123163706</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123163706</guid><author>evoke_c</author><pubDate>Mon, 28 Feb 2022 11:02:57 +0800</pubDate><description><![CDATA[Linux权限的概念
Linux下有两种用户：超级用户（root）、普通用户。

超级用户：可以再linux系统下做任何事情，不受限制
普通用户：在linux下做有限的事情。
超级用户的命令提示符是“#”，普通用户的命令提示符是“$”。

命令： su [用户名]
功能：切换用户。
例如，要从root用户切换到普通用户user，则使用 su user。 要从普通用户user切换到root用户则使用 su root（root可以省略），此时系统会提示输入root用户的口令。
Linux权限管理
01.文件访问]]></description><category></category></item><item><title><![CDATA[Linux基本指令]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123132482</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123132482</guid><author>evoke_c</author><pubDate>Sat, 26 Feb 2022 17:32:09 +0800</pubDate><description><![CDATA[01. ls 指令
语法： ls [选项][目录或文件]
功能：对于目录，该命令列出该目录下的所有子目录与文件。对于文件，将列出文件名以及其他信息。
常用选项：

-a 列出目录下的所有文件，包括以 . 开头的隐含文件。
-d 将目录象文件一样显示，而不是显示其下的文件。 如： ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 （]]></description><category></category></item><item><title><![CDATA[内存管理【C/C++】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/123023282</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/123023282</guid><author>evoke_c</author><pubDate>Sun, 20 Feb 2022 15:43:45 +0800</pubDate><description><![CDATA[1. C/C++内存分布
我们先来看下面的一段代码和相关问题
int globalVar = 1;
static int staticGlobalVar = 1;
void Test()
{
	static int staticVar = 1;
	int localVar = 1;
	int num1[10] = { 1, 2, 3, 4 };
	char char2[] = "abcd";
	char* pChar3 = "abcd";
	int* ptr1 = (int*)malloc(sizeof(i]]></description><category></category></item><item><title><![CDATA[类与对象（下）【C++】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/122967707</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/122967707</guid><author>evoke_c</author><pubDate>Fri, 18 Feb 2022 16:15:40 +0800</pubDate><description><![CDATA[1. 再谈构造函数
设已有A、B、C、D4个类的定义，程序中ABCD的构造函数、析构函数调用顺序是怎样的？
class A
{
public:
	A()
	{
		cout &lt;&lt; "A()" &lt;&lt; endl;
	}
	~A()
	{
		cout &lt;&lt; "~A()" &lt;&lt; endl;
	}
};

class B
{
public:
	B()
	{
		cout &lt;&lt; "B()" &lt;&lt; endl;
	}
	~B()
	{
		cout ]]></description><category></category></item><item><title><![CDATA[类与对象(中)【C++】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/122947111</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/122947111</guid><author>evoke_c</author><pubDate>Wed, 16 Feb 2022 17:02:54 +0800</pubDate><description><![CDATA[1.类的6个默认成员函数
如果一个类中什么成员都没有，简称为空类。空类中什么都没有吗？并不是的，任何一个类在我们不写的情况下，都会自动生成下面6个默认成员函数。
class Date {};


2. 构造函数
2.1 概念
对于以下的日期类：
class Date
{
public:
	void SetDate(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	void Display(]]></description><category></category></item><item><title><![CDATA[类与对象(上)【C++】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/122913362</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/122913362</guid><author>evoke_c</author><pubDate>Mon, 14 Feb 2022 17:10:29 +0800</pubDate><description><![CDATA[1.面向过程和面向对象初步认识
C语言是面向过程的，关注的是过程，分析出求解问题的步骤，通过函数调用逐步解决问题。
C++是基于面向对象的，关注的是对象，将一件事情拆分成不同的对象，靠对象之间的交互完成。
2.类的引入
C语言中，结构体中只能定义变量，在C++中，结构体内不仅可以定义变量，也可以定义函数。
struct Student
{
void SetStudentInfo(const char* name, const char* gender, int age)
{
	strcpy(_name, n]]></description><category></category></item><item><title><![CDATA[基础知识【C++入门】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/122898258</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/122898258</guid><author>evoke_c</author><pubDate>Sun, 13 Feb 2022 17:24:19 +0800</pubDate><description><![CDATA[1、C++输入&amp;输出
新生婴儿会以自己独特的方式向这个崭新的世界打招呼，C++刚出来后，也算是一个新事物，
那C++是否也应该向这个美好的世界来声问候呢？我们来看下C++是如何来实现问候的。
#include&lt;iostream&gt;
using namespace std;
int main()
{
    cout&lt;&lt;"Hello world!!!"&lt;&lt;endl;
    return 0;
}

说明：

使用cout标准输出(控制台)和cin标准输入(键盘) 时]]></description><category></category></item><item><title><![CDATA[命名空间【C++入门】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/122414058</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/122414058</guid><author>evoke_c</author><pubDate>Mon, 10 Jan 2022 17:48:35 +0800</pubDate><description><![CDATA[我们在看C++代码的时候，常常会看到一行这样的代码
using namespace std;

那它是干嘛的呢？   其实这就是我们所说的命名空间，因为命名冲突问题而产生的
命名冲突问题
1、我们自己定义的变量、函数可能会和库里面重名冲突；
2、做大项目时，需要多人协作，两个同事写的代码，命名冲突；
C语言没有办法很好的解决这个问题，所以，C++提出了一个新语法，命名空间
看如下这段代码
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;

int rand =]]></description><category></category></item><item><title><![CDATA[Leetcode 225【队列实现栈】(c语言版)]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120504485</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120504485</guid><author>evoke_c</author><pubDate>Mon, 27 Sep 2021 11:13:40 +0800</pubDate><description><![CDATA[队列实现栈
oj链接
实现思路

c语言实现代码
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;stdbool.h&gt;
#include&lt;assert.h&gt;

typedef int QDataType;
// 链式结构：表示队列 
typedef struct QListNode
{
    struct QListNode* next;
    QDataType data;
}QNode;


// 队列的结构]]></description><category></category></item><item><title><![CDATA[leetcode 232【用栈实现队列】(c语言版)]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120503957</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120503957</guid><author>evoke_c</author><pubDate>Mon, 27 Sep 2021 10:50:49 +0800</pubDate><description><![CDATA[用栈实现队列
在Leetcode上有这道题，
链接
oj链接
实现思路
由于队列先进先出和栈先进后出原则，所以我们需要用两个栈才能实现队列

c语言实现
#include&lt;stdio.h&gt;
#include&lt;stdbool.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;assert.h&gt;

typedef int STDataType;
typedef struct Stack
{
    STDataType* a;
    int top;]]></description><category></category></item><item><title><![CDATA[【数据结构之队列】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120488685</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120488685</guid><author>evoke_c</author><pubDate>Sun, 26 Sep 2021 15:21:32 +0800</pubDate><description><![CDATA[队列的概念及结构

队列的实现
单链表

Queue.h
#pragma once

#include &lt;stdio.h&gt;
#include &lt;stdbool.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdlib.h&gt;
typedef int QDataType;

typedef struct QueueNode
{
	struct QueueNode* next;
	QDataType data;
}QNode;

typedef]]></description><category></category></item><item><title><![CDATA[【数据结构之栈】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120479897</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120479897</guid><author>evoke_c</author><pubDate>Sun, 26 Sep 2021 00:17:22 +0800</pubDate><description><![CDATA[栈的概念及结构

栈的实现
结构选择
分析一下，用哪种结构实现较好？顺序表 or 链表


这么我用的顺序表

代码实现
Stack.h
#pragma once

#include &lt;stdio.h&gt;
#include &lt;stdbool.h&gt;
#include &lt;assert.h&gt;
#include &lt;stdlib.h&gt;

typedef int STDataType;

typedef struct Stack
{
	STDataType* a;
	int]]></description><category></category></item><item><title><![CDATA[【数据结构之双向链表】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120471839</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120471839</guid><author>evoke_c</author><pubDate>Sat, 25 Sep 2021 15:54:13 +0800</pubDate><description><![CDATA[前言
上一篇我们已经学过了单链表，了解了其结构，不知道大家有没有发现单链表的缺陷

链表结构
现实中要实现的链表结构非常多样，有8种链表结构：



无头单向非循环链表

结构简单，一把不会单独用来存数据。实际中更多是作为其他数据结构的子结构，如哈希桶、图的邻接表等等，另外这种结构在笔试面试中出现很多。

带头双向循环链表

结构最复杂，一般用在单独存储结构。实际中使用的链表数据结构，都是带头双向循环链表。另外这个结构虽然结构复杂，但是使用代码实现以后发现结构会带来很多优势，实现反而简单了，后面我们代码实现]]></description><category></category></item><item><title><![CDATA[【数据结构之单链表】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120468474</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120468474</guid><author>evoke_c</author><pubDate>Sat, 25 Sep 2021 11:51:31 +0800</pubDate><description><![CDATA[前言
上一篇我们已经写完顺序表了，那么顺序表有什么缺点呢，如何解决？

链表的概念及结构

单链表实现
SList.h
#define _CRT_SECURE_NO_WARNINGS

#pragma once
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;

typedef int SLTDataType;
struct SListNode//定义结点
{
	SLTDataType data;//数据
	struct SListNode* next;//指]]></description><category></category></item><item><title><![CDATA[【数据结构之顺序表】]]></title><link>https://blog.youkuaiyun.com/evoke_c/article/details/120459096</link><guid>https://blog.youkuaiyun.com/evoke_c/article/details/120459096</guid><author>evoke_c</author><pubDate>Fri, 24 Sep 2021 23:08:48 +0800</pubDate><description><![CDATA[顺序表概念：

顺序表是在计算机内存中以数组的形式保存的线性表，线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中，即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系，采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。

静态顺序表
SeList.h

#define _CRT_SECURE_NO_WARNINGS 1

#pragma once
#]]></description><category></category></item></channel></rss>