自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 xshell、vim使用切换

底行模式vsp 文件(vs也可)创建。ctrl+w(点两次)切换。shift+tab 切换。

2023-03-16 16:12:29 340

原创 理解文件系统(inode和data blocks),软、硬连接

所以在mydir目录下创建文件,内核需要做,找到空inode区域和空数据块区域,填入相应文件信息,找到mydir目录的数据块,填入对应的文件名和inode的映射关系。使用硬链接,虽然会多出一个链接文件名,但这不是文件,没有独立的inode,只是在相应的目录数据块中,写入链接文件名和文件名的inode,相当与对文件取了一个别名,他们共用同一个inode。软链接出来的文件,和普通文件一样,有着自己的inode和相应的数据块,但数据块中存储内容为被链接文件的地址,这样访问软连接时,就能找到链接文件。

2023-03-15 17:56:33 289

原创 文件描述符和FILE*区别(open,write,read),重定向(dup2)

做调用库函数fopen()返回的指针类型。操作系统为了管理文件,定义了一个数据结构file来管理文件。而库函数参与了封装,封装成FILE,直接与FILE*打交道。file!= FILEstruct FILE 内部包含。

2023-03-15 15:34:03 316

原创 变量的作用域、生命周期

目录作用域1. 局部变量2.全局变量作用域作用域作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。1. 局部变量局部变量的作用域就是变量所在的局部范围。{}定义局部域,在{}内部定义的变量为局部变量,此局部变量的作用域为所在的局部域中。注:{}定义的局部域中,可以嵌套定义局部域。对于有相同的名字变量且作用域的不同,会采用局部变量优先原则(或者说,就近原则)。#include<stdio.h

2022-05-04 17:13:02 711

原创 Linux下Makefile,make本质解析(看这一篇就够了)

make首先明确这是一个命令行命名,它的作用为,在当前路径下,找到名为Makefile的文件,解释Makefile中的指令。插入一句,为什么是在当前路径下找Makefile,是因为Shell的运行原理,除去部分的内建命令,大多数命令执行原理是为,Shell创建子进程,找到命令文件,执行进程替换,执行相关代码。(非内建命令==可执行程序)为此,我们可以查看进程的默认路径。上诉为进程的资源,cwd即表示此进程的默认路径(创建文件,找文件等)。MakefileMakefile本质就是文件。只不过配合

2022-04-24 11:31:56 2767

原创 Linux下 gcc的使用

目录-E选项-o选型-S选型-c选项不带选项-g选项-static选项-E选项此选项让gcc进行到预处理后停下,不主动生成文件。需要自己重定向到文件中。如若不重定向,即直接使用gcc -E test.c将会把 结果输出打印到屏幕上,如若想要把处理结果定向到文件中,可用定向符 >或者>>,也可带-o选项(常用)。gcc -E test.c > test.i//或者gcc -E test.c -o test.i一般把.i文件后缀表示为进行到预处理的程序文件。-o选型

2022-04-12 10:47:48 573

原创 迭代器失效相关题(vector)

- 迭代器所指向的已经被更改,不再指向它该指向的数据或者对象,失去意义。 - 迭代器所指向已不是有效数据或空间,变为野指针,如插入数据时得开辟新空间扩容。

2022-04-03 10:00:41 78

转载 LeetCode136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

2022-04-03 09:13:24 129

原创 内联函数inline

前言:内联函数是C++为提高程序运行速度所做的一项改进。常规函数和内联函数的主要区别不在于编写方式,而在于C++编译器如何将它们组合到程序中。内联函数的定义定义内联函数,需使用C++的关键字 inline 且必须采取下俗措施之一在函数声明前加上关键字inline;在函数定义前加上关键字inline。通常的做法是是省略原型,直接定义(即函数头和所有函数代码)放在本应提供原型的的地方。//内联函数的定义,关键字在返回类型之前inline int Add(int x,int y) .

2022-03-22 15:55:12 3404

原创 快速搞懂变量的声明、定义区别;全局、局部变量及static修饰局部变量、全局变量(静态变量)与函数的作用。

前言:本章目录(一)变量的定义和声明即区别(一)变量的定义和声明即区别变量的定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。//注:这个名字一旦和这块内存匹配起来,它们就共同生死,不离不弃,即不可以用被分配的名字去定义另一块对象空间,编译器会报错。并且这块内存的位置也不能被改变。一个变量或对象在一定区域(比如函数内、全局等)只能被定义一次。如果定义多次,编译器会提示用户重复定义了同一个变量或对象。现在来讲讲什.

2021-10-19 23:05:00 885 1

原创 (%3d)数据格式在scanf和printf中的常规应用,你真的理解透了吗?

前言:对于scanf、printf中数据格式常使用的是单个,即%d、%s、%c等但也有着像%3d等的数据格式虽然没有在代码中常运用 ,但也得知道分别是怎么实现的文章目录(一)数据格式在scanf中的应用(一)数据格式在scanf中的应用下面用 %3d 举例如int main(){ int n; scanf("%3d", &n); printf("n=%d\n",n); return 0;}运行代码,从键盘输入值1) 比给定的数据格式小或相等如输入 12 ,输出.

2021-10-12 22:09:02 11092 8

原创 scanf函数中输入格式及输入基本原理讲解

#include<stdio.h>int main(){ return 0;}

2021-08-20 14:56:06 22672 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除