自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Msql----表的约束

数据库中表的约束

2024-06-24 22:55:43 545

原创 C++-------多态

C++实现多态

2024-06-24 22:46:35 386

原创 linux---生产者和消费者模型

生产者和消费者模型

2024-06-01 15:12:42 1122 1

原创 linux--------线程的同步和互斥

线程同步和互斥

2024-06-01 15:11:41 939

原创 linux-----环境变量

常见的环境变量:PWD:记录当前工作目录PATH : 指定命令的搜索路径HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)SHELL : 当前Shell,它的值通常是/bin/bash。查看环境变量:echo $NAME //NAME:你的环境变量名称1. echo: 显示某个环境变量值2. export: 设置一个新的环境变量3. env: 显示所有环境变量4. unset: 清除环境变量。

2024-05-24 11:46:34 611

原创 C++-----类型转换

标准C++为了加强类型转换的可视性,引入了四种命名的强制类型转换操作符:static_cast、reinterpret_cast、const_cast、dynamic_cast

2024-05-24 11:39:52 446

原创 linux---线程控制

线程的创建,等待,中止,分离

2024-05-18 18:49:52 682

原创 linux----静态库和动态库

对于文件建立硬链接,每对一个文件形成一个硬链接,inode计数就会加加,txt和hardlink就是2.在一个目录下创建一个子目录inode计数是2,因为还有隐藏文件(.和..)。但是这个库是我们自己写的,并不在系统默认的lib64目录下,使用这个库的编译的时候必须告诉编译器这个静态库在哪个目录下是哪个静态库,才可以正确的形成可执行程序。硬链接:对一个文件形成硬链接,它们俩的inode编号相同,实际上是同一个文件。静态库:程序要编译链接才可以运行,如果链接的是静态库,运行阶段就不用再次进行链接。

2024-05-18 18:49:29 824

原创 linux---信号的捕捉和处理

信号的捕捉和处理

2024-05-17 16:42:17 700 1

原创 linux---进程通信

提示:以下是本篇文章正文内容,下面案例可供参考。

2024-05-17 16:41:20 709

原创 C++-----继承

提示:这里可以添加本文要记录的大概内容:提示:以下是本篇文章正文内容,下面案例可供参考一、隐藏问题可以简单理解为编译器会先从子类找,如果找到了就不关父类的事情了,子类中没找到就从父类中寻找。1.派生类和基类成员变量同名:2.派生类和基类成员函数同名:只要是函数名相同就构成重写(隐藏)。注意:派生类和基类它们的作用域是不同的,不存在重载的问题。3.派生类和基类析构函数:基类和派生类构造函数是先初始化基类后派生类,而析构函数是先调用派生类然后自动(注意)调用基类析构函数;

2024-03-06 19:36:52 746

原创 linux---初识文件系统调用接口

linux系统通过fd来管理打开的文件,fd是一个数组的下标,可以理解为文件的身份证。linux系统默认会打开3个流对象,分别是输入流stdin,输出流stdout,错误流stderor.它们的数组下标是 0,1,2.如果我们没有改变0,1下标中的内容,那么c语言中的scanf和printf分别就会从键盘和屏幕,读取和打印数据。printf是默认数组下标是1的文件打印数据,我们关闭1,打开一个文件这时数组下标1中存储的时文件test的指针,这样我们原来要把字符串打印到屏幕上转而实现打印到了文件test中。

2024-03-06 19:33:18 863

原创 C++------类与对象(六个默认函数)

C++支持一个类即使是空类,它也会自动生成六个默认的函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证 每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一次。析构函数:与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由 编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。

2024-02-05 00:47:08 770

原创 Liunx------vim编译器的入门使用

我们可以通过命令help vim-modes查看它的所有模式,以下是常用的1.插入模式:在该模式下,你输入的任何字符都被当作文本内容2.命令模式输入的字符被当做命令处理,我们进入vim,默认是命令模式3.底行模式。

2024-02-05 00:26:50 1081

原创 C++-----初始函数模板与类模板

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-11-22 23:29:45 36

原创 初识makefile

makefile可以帮助我们自动化编译我们的代码,只需要通过make命令。make是个命令解释器,makefile是一个文件。提示:以下是本篇文章正文内容,下面案例可供参考它的变量类似宏定义,可以替换。好处是我们可以简化代码。通过$().。

2023-11-22 14:01:37 490

原创 C++/C-----内存管理

/内置类型//申请一个int大小,初始化为3//连续申请3个int,分别初始化delete pyt;//释放连续的空间配合[]//自定义类型//申请一个对象(MyQL)空间同时调用构造函数//连续申请3个对象空间,调用3次构造函数(1,2,3会隐式转换)//释放连续空间,调用析构函数完成对象资源清理,然后在释放对象的空间// 动态申请一个int类型的空间// 动态申请一个int类型的空间并初始化为10// 动态申请10个int类型的空间。

2023-11-18 21:40:55 34

原创 C++--------时间类的实现

C++ -------实现时间类

2023-11-16 12:20:19 138

原创 C++------类与对象(下)

在之前编译器自动生成的默认构造函数,它不会对内置类型初始化,C++对它打了个补丁,就是声明变量的时候可以给缺省值,这里的缺省值就是给初始化列表的默认值,当然如果初始化列表已经赋值,缺省值无效。static 修饰的变量和函数是这个类所共有的,所有该类的对象都可以访问它,可以理解为对象的全局函数和变量,也受限制符的限制。我们可以用初始化列表初始化,函数体内检查。友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在 类的内部声明,声明时需要加friend关键字。

2023-11-12 20:47:51 22

原创 时间复杂度和空间复杂度

当N=5 递归最大的深度为5,当递归到最后最后一项的时候开始返回,这时 f(1)返回,空间被回收给f(0)利用,它们其实共用同一个空间只是使用者不同,当f(0)返回f(2)也就返回了,f(2)的空间回收给了右边的f(1)利用........。一个算法程序在不同机器上跑的时间都是不同的,它取决于很多因素,比如cpu运行速率。于是有了时间复杂度,一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法 的时间复杂度。时间复杂度是一个函数同时时间可累加的。也使用大O渐进表示法。

2023-10-26 20:28:43 24

原创 liunx的权限

一一对应指令:su 或者 su - 它们的区别在于su只是角色的切换,su - 是以root账号重新登入超级用户符号:#普通用户符号:$(1) 以普通用户登入切换超级用户 :需要输入root密码(2)普通用户切换到另一个普通用户:需要输入另一个普通用户的密码(3)超级用户切换到普通用户:不用输入密码,直接切换超级用户的权限比普通用户大,可以执行普通用户执行不了的指令如果一定要执行root权限下的指令需要root账号将用户添加入白名单,然后就可以执行了。

2023-10-25 13:27:50 45 1

原创 Linux基本指令

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。键盘的输入并不是直接向屏幕输入,在linux下一切皆文件,我们可以把键盘屏幕当做文件,从键盘文件读取数据然后再输入到到屏幕文件中,这叫回显。如:ls –d 指定目录 -i 输出文件的 i 节点的索引信息。

2023-10-16 21:11:56 86 1

原创 c++-----入门篇

内联函数就是在函数声明前加个inline关键字,调用该函数编译器会在编译阶段将该函数展开,不进行普通函数进行栈帧的创建。多个变量的类型要相同,因为编译器只会判断最前面的数据类型,然后默认后面的变量都是这个数据类型。

2023-10-16 16:31:12 51 1

原创 编译与链接

这些符号是c语言内置的int main()//编译的源文件//文件被编译所在的行数//文件被编译的时间如果编译器遵循ANSI C,其值为1,否则未定义return 0;语法:#define name stuff name是标识符的名字我们可以用它来干什么呢?#define MAX 6 //设置标识符的值#define ret register//为关键字起别名;)//用简短的符号代替一种简单的实现。

2023-10-01 21:26:34 31

原创 数据结构---栈和队列

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-09-26 21:23:10 23

原创 C语言----通讯录的实现(动态版,文件版)

以下运行的通讯录是使用动态版的,如果需要用到文件保存的,在菜单栏中取消文件函数功能的注释就好了提示:以下是本篇文章正文内容,下面案例可供参考。

2023-09-11 23:04:47 77

原创 C语言------动态内存管理

C语言提供了一个动态内存开辟的函数: 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己 来决定。如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器:int main()//int b=10;//int a[b];

2023-09-10 20:24:53 46

原创 C语言-----文件操作

提示:以下是本篇文章正文内容,下面案例可供参考将数据写入date.txt的文件中int main()//以写的形式打开文件i

2023-09-09 20:19:09 213 1

原创 C语言-----实现扫雷小游戏

扫雷小游戏。

2023-08-17 02:50:41 32 1

原创 自定义类型:结构体,枚举,联合

C语言自定义类型详解和总结:结构体,联合体,枚举

2023-08-12 00:15:28 47 1

原创 C语言----字符函数,重点字符串函数及内存函数模拟实现及总结

求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存操作函数memcpymemmovememsetmemcmp。

2023-08-09 17:30:39 60 1

原创 C语言小游戏----多子棋

C语言小游戏

2023-08-04 00:39:39 46 1

原创 C语言---深入指针

/数组元素是函数名也就是函数的地址,为方便计算器与下标匹配,我们把数组的第一个元素置空值(NULL)void test(int arr[])//ok?

2023-07-21 22:56:57 26 1

原创 指针和数组的关系(一维数组,二维数组,指针和数组笔试题)

因为sizeof()运算符压根就不会对表达式进行计算,它在编译阶段就会判断s的数据类型为short,它只关心括号里面的最终的数据类型,而表达式计算是运行阶段的,这里的sizeof()里面的表达是不进行计算,sizeof只对数据类型进行判断。--------->因为是个二维,数组实际存储变为 int a[3][2]={{1,3},{5,0},{0,0}};程序经过编译----------l链接----------生成可执行文件---------运行(计算)-------结果。

2023-07-20 22:45:40 54

原创 qsort 函数使用和模仿实现

如何使用qsort 函数,它有四个参数,分别是void *类型的指针,数据的个数,数据的内存大小单位为字节,还有一个为函数指针,因为如果要对传入的数据进行排序的话,必须要知道他们的个数,还有数据的内存大小,用void*来接收数据的地址(我们不知道对方要传入哪种类型的数据所以要用void*来接收)qsort函数可以实现多类型数据的排序,比如结构体,数组等,以下代码有例子。本人编程小白,如果有错误可以指出来,互相学习!二,模仿qsort函数(实现冒泡排序)一 ,qsort函数的使用。一,qsort函数的使用。

2023-07-20 21:45:17 30

原创 深入浮点型数据在内存中的存储

浮点数家族包括:float double ,long double类型float 4字节 double 4字节 long double 8字节浮点数的表示3.141591E10浮点数的表示范围在float.h头文件中定义浮点数在内存中的存储和整数有什么区别,我们都知道float int 都是四个字节,代码如下n 和 *Float 在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大?要理解这个结果,一定要搞懂浮点数在计算机内部的表示方法。

2023-06-04 21:45:17 29 1

原创 深入整形数据在内存中的存储

以int a=0x11223344为例子,这里我们用16进制表示a,二进制表示为十六进制,四个比特位为一个十六进制位,计算机中地址是以一个字节为单位计算地址的,八个比特位表示为一个字节 所以11 22 33 44分别表示四个字节。整形家族(在VS编译器中char默认为singned,其他编译器中不确定 ,其他整形单作有符号处理列如(int ==singned int)int 分为有符号int singned int (一般 int==singned int )

2023-06-04 21:21:29 65 1

原创 初识函数------------------------------------

scanf函数和getchar函数会涉及到缓存区的问题,如果涉及多个scanf函数使用时,可以用getchar函数配合while循环把缓存区的数据取完,这样等下次scanf就可以等待用户输入指定的数据,而不直接跳过输入直接读取缓存区剩余的下个数据。strlen()函数是计算字符的个数,遇到字符'/0'才结束,计算个数不包括'/0'。函数形参可以与实参名相同,因为每一次函数调用都会在栈中开辟空间,函数的作用域都是不同的,形参和实参是两个不同的变量,但它的值相同,可以说是拷贝的值。//1.return;

2023-05-21 23:01:46 24

原创 编程小白的自我介绍

我是来自普通二本院校的学生,专业是计算机科学与技术,作为一名计算机专业的学生,学的东西很多,我希望能够深入学习一门语言和技术,为即将到来的实习做准备,学编程当然要多敲代码,有时候学习知识后,自己主动敲代码可以更好的理解知识,同时加深映像,我有时间就会敲代码,同时为了复习学过的知识,进入大厂应该是每个计算机专业同学的目标,比如字节跳动,腾讯等,这个也是我的目标。

2023-04-03 15:19:21 32 1

空空如也

空空如也

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

TA关注的人

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