Rgzz's Record

知道的越多,不知道的越多。

0%

[TOC]

PS:如果您熟悉堆的工作原理,建议您跳过堆的介绍部分,直接看堆溢出原理

堆的工作原理

堆与栈的区别

1、栈 (stack) ,是一种在程序设计时就规定好大小及使用方式的内存,由操作系统自动分配释放,用于存放函数的参数值、局部变量等。栈总是成“线性”变化。栈向低地址空间增长。

[toc]

第五章—编程题5.9

题目1

1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
* 编译环境:vs2022
* 题目简介:输出字符串大写形式
* 时间:2022/3/22
* 分析:有两种方案:
*		1.将标准输入复制到标准输出中,然后在转换大写,
*			但是,它只能在使用ASCII码的机器上运行
*		2.使用tolower函数
* 总结:
* 改进:
* 作者:人工智障plus
*/

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<ctype.h>
/*
* 将标准输入复制到标准输出中,将所有大写字母转换为小写字母。
* 如果参数并非大写字母,tolower 函数将不修改,直接返回它的值
*/

/*
* 方法2:
int main(int argc, char *argv[])
{
	int ch;

	while( (ch = getchar()) != EOF )
	{
		putchar( tolower( ch ) );
	}
	
	return 0;
}
*
*/

// 方法1:
int main(int argc, char *argv[])
{
	int ch;
	while( (ch = getchar() ) != EOF)
	{
		if( ch >= 'A' && ch <= 'Z' )
			ch += 'a' - 'A';
		putchar( ch );
	}
}

题目2

2

[toc]

第四章—编程题4.14

题目1

1

1.1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
* 编译环境:vs2022
* 题目简介:用公式计算正数 numb 的平方根
* 时间:2022/3/20
* 总结:学会使用绝对值函数,整数下用abs(),浮点数下用fabs()
*/

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>

int main()
{
    /*
    * 公式对应值;
    * n = numb,numb_next = a_1, numb_dnext = a_2
    */
	double numb, numb_next, numb_dnext;
	numb = 3;
	numb_next = 1;
	numb_dnext = 3;
    /*
    * 1.最开始想将下面的if判断用作while循环条件,
    * 调试发现,numb_next后来一直等于numb_dnext。
    * 2.近似值判定条件,即程序停止判定条件,
    * 用相邻两数相减区绝对值,然后域精确度比较。
    */
	while (1)
	{
		numb_dnext = (numb_next + numb / numb_next) / 2;
		if (fabs(numb_dnext - numb_next) < 0.00001) break;
		numb_next = numb_dnext;
	}
	printf("%f", numb_dnext);
	return 0;
}

题目2

2

[toc]

阅前提示:本文来自《LINUX内核设计与实现》第三章内容总结,如有不足和错误,请在评论区告诉我

task_struct结构体

task_struct 被称为进程描述符,它定义在<linux/sched.h>文件中,进程描述符中包含一个具体进程的所有信息

[TOC]

免费建站

注册 Github 账号,并创建仓库

创建仓库(仓库名格式:账户名.github.io)

https://blog.csdn.net/weixin_43729943/article/details/103915046

添加ssh

https://blog.csdn.net/u013778905/article/details/83501204

本地nodejs,Git环境搭建

教程

https://hexoscript.gitbook.io/hexo-script/v/1.3-1/shi-yong-bu-zhou/zhun-bei-gong-ju

利用hexo搭建博客

教程

https://hexoscript.gitbook.io/hexo-script/v/1.3-1/shi-yong-bu-zhou/yi-jian-an-zhuang-hexo-bo-ke

官方文档

https://hexo.io/zh-cn/docs/

主题

挑选主题

https://hexo.io/themes/

配置主题

自行阅读主题文件夹下的 README.md文件

[toc]

Linux 命令

名字语法用法全称或备注
.当前目录
..上级目录
~用户主目录普通用户的主目录为/home;
超级用户的主目录为/root
-前一个工作目录
/表示根目录
cdcd [相对路径或绝对路径]切换到目标工作目录change directory
pwdpwd查看或打印当前目录print working directory
typetype [命令名]用来显示指定命令类型
lsls显示当前目录下的文件
llll显示当前目录下文件详细信息ls -l –color=auto
ll -all -a显示当前目录下文件及隐藏文件详细信息
mkdirmkdir -p a/b/c/d/e/f 会自动创建文件父目录
mkdir -p lucky/{1234}ls 一次可以创建多个子目录
创建文件目录make directory
rmrm -rf [目录名]删除文件夹,强制删除remove
rmdirrmdir [目录名]删除文件目录,要求该文件夹是空文件夹remove directory
cpcp [选项] 源路径 存放路径
cp 源路径 存放路径
拷贝文件到文件夹,复制copy
*shiren*所有以’shiren’开头的文件夹
mvmv 源路径 存放路径1、移动文件到文件夹,剪切
2、修改文件名字
move
touchtouch 文件名如果没有该文件,则创建新文件;如果有该文件,则修改该文件的三个时间
stat文件属性state
catcat 文件名正序查看文件内容
tactac 文件名倒序查看文件内容
moremore 文件名分页查看文件内容敲回车,一行行显示后续内容;敲 ‘b’ 返回上一行;敲空格,一页页显示后续内容;敲 ‘h’ 显示帮助,更多指令
lessless 文件名与more功能基本一样,区别是less的操作命令更多
headhead -10 文件名查看文件前10行
tailtail -10 文件名
tail -f 文件名
tail -F文件名
查看文件后10行
监控文件变化,按Inode查找
监控文件变化,按文件名查找
| 竖杠head -8 文件名 | tail -1‘|’ 将前面查询结果传递给后面,只查询第8行
findfind / -name 文件名在 / 内查找叫[文件名]的文件
echo
lnln -s 目标文件名 链接文件名 |创建软链接,类似指针
ln 目标文件名 链接文件名 |创建硬链接,类似取别名
创建文件链接
ip addrip addrip查询

终端相关

  • 快捷键 Ctrl+Alt+T:桌面打开终端
  • exit 或 快捷键 Ctrl+D:结束终端会话

时间相关

  • date:显示当前时间和日期
  • cal:默认显示当前月份的日历

磁盘相关

  • df:查看磁盘的当前可用空间
  • free:查看内存容量

文件相关

  • pwd:输出当前的工作目录名称,【print working directory】
  • ls:列出目录内容
  • cd:修改目录

tips:

焦点跟随鼠标 $ 代表普通用户; # 代表超级用户

[toc]

知网困境

中国大学生苦知网久矣,众所周知,大学毕业要求要写论文。那么,查资料就是必不可少的一环,而中国知网,下载或阅读一篇论文,收费2元+。一篇还好,关键是,你写论文肯定就不会只参考一篇文章吧,多起来你可能要阅读100+篇才写的下来,那这些费用学生只能勉强负担。

[toc]

符号

using namespace std;

  • 这条指令是一个全新的概念:名字空间

  • 所有标识符都在一个特殊的名字空间 std 中来定义,用以区分不同的命名版本

    • cout << 有此指令
    • std::cout << 无此指令
  • 让程序访问名称空间 std 的方法