自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LInux下进程的理解

进程是什么,进程其实就是一个运行起起来的程序,操作系统为了更好的管理进程,会给进程创建一个PCB用来记录进程的属性,对进程的数据属性进行管理,可以理解成对进程的间接管理进程本质 = 可执行程序 + 进程对应的内核数据结构操作系统会创建一个进程队列来记录每个进程的信息tack_struct是PCB的一种,也是Linux内核的一种数据结构,包含着进程信息。......

2022-08-29 22:44:50 491 1

原创 Linux的基本权限

在现实生活中,为什么要有权限,为了对事物进行更好管理和使用(相对拥有者和其它人而言),所以,Linux对文件访问者进行分类之外在Linux下的用户分为两种。

2022-08-22 12:15:01 365

原创 Linux系统下的基本指令

Linux下的一些基本指令

2022-08-20 11:22:53 263

原创 类和对象(C++)

1.类和对象在C语言中,结构体只能用来定义变量,而在C++中,结构体不仅可以定义变量,还可以定义函数。而C++更喜欢使用class来代替struct使用。C语言是面向过程的语言,它的对象仅仅是一些变量,它更偏向过程,而函数的实现就是对过程的实现。在C++中,将问题分成一个一个对象,不仅是由变量构成对象,函数更是对象的各种动作的实现。2.类的定义类里既能定义变量,也能定义函数class Student //struct Student{ void getInfor() { p

2022-05-17 22:01:50 843 2

原创 引用(C++)

引用的概念和使用

2022-05-10 23:31:43 172

原创 链表实现(C)

1.链表链表是线性表,结构中的数据存放也是呈线性结构,但是,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,即存储的空间不像数组一样是相连的,而是随机的。链表的分类:1:单向和双向2:不循环和循环3:含头节点和不含头节点头节点一般不用来存放数据1.2 单链表单链表即无头单向不循环链表,是所有链表结构中最简单的一个创建一个单链表:typedef int DateType;typedef struct SingleListNode{ DateType date

2022-05-05 19:45:15 330

原创 线性表和顺序表(C实现)

1.线性表线性表是由n个具有相同特性的数据元素组成的的有限序列。它是一种数据结构,参见线性表有:顺序表,链表,栈和队列等等。二叉树就不是线性表。线性表在逻辑上是线性结构,即一个数据接着一个数据存放,是连续的一条线,但是在实际上的物理结构不一定是线性的。看下面例子:顺序表:顺序表的数据在物理空间上是连续的链表:链表每个数据的物理空间是随机的,不是呈线性结构,但是逻辑上是线性的。2.顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存

2022-05-03 11:18:44 230

原创 函数重载.

1. 函数重载的概念函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。如:void add(int a, int b);void add(int a, int b,int c);void add(int a, float b);void add(float b,int a);以上的几个函数都互相构成重载函数,但是有一点要注意的,函数返回值的是不

2022-05-01 23:45:04 991

原创 缺省参数.

1.缺省参数1.1 缺省参数的概念缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。void fun(int a=0){ cout<<a<<endl;}int main(){ fun(); //不传参,使用默认值 fun(5); //传参,使用指定的值 return 0;}1.2 全缺省参数全缺省参数是函数中所有的参数都设定了默认值void

2022-04-28 22:35:48 1877

原创 nameplace关键字(命名空间)

1.命名空间使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。命名空间本质是开辟一个新的作用域,在这个空间中可以定义变量,函数和类型。值得注意的是,命名空间里开辟的变量是全局变量。1.2 命名空间的定义定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。nameplace A //正常使用{ int a = 0;//定义变量 i

2022-04-28 17:20:18 641

原创 指针篇(高)

1.字符指针字符指针是一个指向字符串的指针,它存储着一个字符地址,指向一个常量字符串,并且字符串不可修改。以下是定义:const char* ch="abcd";//"abcd"称为常量字符串因为ch指针指向的字符串不能被修改,而且被修改了程序会奔溃,因此可以加上constch储存着常量字符串的首元素地址,也就是’a’的地址,"abcd"是常量字符串,不能被修改,被储存在只读数据区,当被引用时返回首字符地址。这里我讲讲被常量字符串被调用返回的情况:const char ch1 ="abc

2022-04-04 23:33:14 253

原创 程序环境与预处理

一:程序环境程序环境分为两个环境一个是翻译环境:将源代码转换为机器可执行的指令一个是执行环境:用于实际执行代码二:详解编译和链接翻译环境可以分可两个阶段:编译和链接编译:编译本身可以分为三个阶段,分别是预处理,编译和汇编预处理预处理阶段对源代码进行是文本操作,然后将.c文件变成.i文件1:展开头文件将include包含的头文件进行替换,替换成头文件的内容2:删除注释认为写的注释只是为了我们更好的理解代码,而计算机不需要3:#define定义符号的

2022-03-28 11:06:12 556

原创 C语言文件操作

一:为什么使用文件 我们在程序设计的时候,可能需要数据进行长久保存,而不是单纯随着程序的结束就丢失数据,那么就需要将数据保存到文件中。使用文件我们可以将数据直接保存在电脑的硬盘中,做到了数据的持久化。二:什么是文件在程序设计中我们谈的文件一般有两种:程序文件和数据文件(从功能角度区分)程序文件:包括源文件(后缀为.c),目标文件(后缀为.obj)可执行程序(后缀为.exe)数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行时在文件中输出或者读取.

2022-02-26 11:31:23 299

原创 C语言中的自定义类型(结构体,枚举,联合)

结构体类型

2022-02-18 11:57:34 403

原创 动态内存分配(介绍和使用方法)

动态内存分配介绍动态内存分配,顾名思义就是可以使我们更加灵活的运用和分配内存,

2022-01-28 13:56:39 1212

原创 常用的字符串函数和内存函数

一:字符串函数strlenstrlen函数作用是计算字符串长度的函数原理:循环一遍字符串,遇到\0的时候停止,并返回字符串长度(不包括'\0')代码实现:int strlen(const char* ch){ assert(ch);//判断ch是不是空指针 int count=0; while (*ch != '\0') { count++; ch++; } return count;}strcpystrcpy函数作用是拷贝字符串原理:循环一遍

2022-01-22 21:12:29 426 1

原创 C语言指针篇(初)

一:什么是指针指针是一种具有指向性的东西,在现实生活中,我们想要去到某一个具体地方,比如去朋友家,那么就必须要有盆友家的地址。在计算机中,如果我们要想访问一块内存空间,那么我们也可以拿到这块内存空间的地址来进行访问,在计算机中的内存地址也可以称为指针。指针变量是用来存放指针的一种变量,我们可以将地址存放到指针变量中。 //指针变量的创建:类型名* 变量名 或者 类型名 *变量名 int* i; int *i;&和*操作符&->取地址操作符,用来

2022-01-19 20:45:36 409 9

原创 C语言qsort函数解析(和使用方法)

qsort首先上面是qsort函数的定义,括号里面4个又长又臭的名字是使用qsort函数时需传入的参数。void* _Base是我们要比较的数组中的起始位置size_t _NumOfElements是要比较的元素个数

2022-01-18 19:57:44 650

原创 青蛙跳台阶问题(和进阶)

一只青蛙一次可以最多跳2级台阶,求青蛙跳上n级台阶有多种跳法?当 n=1时,青蛙只有一种跳法;当n=2时,青蛙有两种跳法;当n=3时,有三种跳法,我们可以先跳一级再跳1级;先跳1级,再跳1级;一级一级的跳;共三种跳法;当n=4时,我们可以先跳一级台阶,再跳3级台阶;还有一种跳法是先跳2级台阶,再跳2级台阶;因为跳三级台阶有三种跳法,所以2+3=5;当n=5时,我们可以先跳1级台阶,再跳4级台阶;先跳2级台阶,再跳3级台阶;总跳法为3级台阶+4级台阶的跳法;当n=m的时候,总跳法为

2022-01-16 20:13:09 544 5

原创 详解c语言整形和浮点数在内存中的存储

数据在计算机的存储方式(补码,反码,原码)在32位机器上,计算机储存数据是用32个比特位来储存数据,也就是32个0,其中第一位数为符号位,大多数情况用来表示整数是正的还是负的,我们先从原码说起,1和-1的原码分别为:正数的反码不变,负数的反码在其原码的基础上符号位不变,其他位按位取反(0变成1,1变成0),即:正数的补码还是不变,负数的补码在其反码的基础上加1:所以我们可以总结:正数的原码,反码和补码都相同,而负数的原码,反码和补码在转换时才会不同,计算机在储存整形时用的都是..

2021-11-27 12:55:56 4117 6

原创 C语言rand和srand函数的简单介绍和用法

介绍:在c语言中,我们想要在一个范围内随机生成一个数字,我们就需要用到rand函数,生成大小为0到32767的整数,但仅靠rand生成的数是伪随机的数,如下:第一次运行n次:第二次运行n次:他们的运行的数都是一样的这时候我们就需要用到srand函数来给rand函数提供随机数种子,怎么提供呢,打一段代码来看看:但是当我们把srand设置在这个无限循环体的外面时,:你看,它就能产生一个随机数,因为再循环体中我们一直给rand()函数一直重复提供同一个随机...

2021-10-29 19:36:27 1996 2

原创 C语言中的循环语句和分支语句⊙▽⊙

while和do~while循环在while循环语句中,while的语法格式为当不满足循环条件时,while循环会结束或者不会进行循环do~while的语法格式为而在do~while循环与while不同在于,无论满不满足do~while循环的循环条件,它至少都会循环一次大括号中的语句,而当第一次循环条件满足的时候,它们循环的次数是一样的。for循环语句for循环的语法格式为for相比while的优点在与它将赋值,循环条件和调整结合在一个一个..

2021-10-26 23:42:57 253 5

原创 C语言中的常量的简单介绍和认识⊙▽⊙

字面常量字面常量,其实就是字面上的意思,如下这样单单的一个整形,浮点数,字符和字符串我们称他为字面常量#define定义的标识符常量语法格式为#define+要定义的常量名+值而且被#define定义的常量不能被修改除此之外define还可以定义函数,字符串枚举常量定义枚举类型就是方便我们一一列举生活中可以列举的东西...

2021-10-24 23:58:42 165

原创 C语言关键字static的简单介绍⊙▽⊙

static的用法一:我们写个代码和它的运行结果 但是当我们在建立z这个变量钱加上static会使得z再下次循环中不会重新被赋值二:当我们想使用外部文件的变量或者函数,我们可以使用extern关键字来申明一下但是当我们不想这个文件被其他的文件使用时,我们可以加上static简单介绍一下静态区,堆区和栈区静态区:用来储存静态变量和全局变量堆区:程序员自己用来使用和释放内存栈区:用来存放局部变量和函数的参数值关键字sta...

2021-10-22 23:47:59 177 2

空空如也

空空如也

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

TA关注的人

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