自定义博客皮肤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)
  • 收藏
  • 关注

原创 模板入门了解

看上面代码是不是感觉繁琐,以前我们写个交换函数,对于int,double,char,这种类型不同的我们需要写对应的好几个出来,但是仔细一想,里面的内容都大差不差,所以我们想到了用宏来解决,但是宏又容易出错,所以就有了我们的模板,让编译器来帮助我们自动识别类型,而我们只需要写一个就好了。函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定 类型版本。俗话说的好,能坐着绝不站着,能躺着绝不坐着,这里和大家聊一下我们经常写的交换函数,下面看代码。下面我们来了解一下模板。

2024-08-18 12:40:20 324

原创 C/C++内存管理笔记

4.operator new和operator delete函数new和delete是用户进行动态内存申请和释放的操作符和operator delete是系统提供的全局函数new在底层调用全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。这里其实。

2024-08-18 12:14:32 742

原创 八大排序详细介绍(c语言版本)

这个图就是先比较3和5,5大,然后直接++,5和6比,6大,直接++,6和1比较,6大,所以把6就换到了后面,再++,然后再比较6和8,8大,直接++,8和9,9大直接++,然后就是类似这样下去,最后就把最大的换到了最后面,然后这样就实现了一趟冒泡排序。插入排序的思想就是把一个数组当成两个数组,然后一个有序,一个无序,由于第一个无需比较,只需要比较n-1次,将无序数组的第一个和有序数组的最后一个开始依次对比,插入合适的位置,来看图。下面我们来看看插入排序,插入排序,一听就知道是一种插入类型的排序了。

2024-05-27 19:07:59 1082 4

原创 C++ 类的6个默认成员函数

C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容!构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任。

2024-04-21 14:25:41 1540 6

原创 C++入门(第二篇)

1.函数重载1.1函数重载概念2.引用2.1引用概念2.2引用特性2.3常引用2.4使用场景3.内联函数3.1概念3.2特性4.auto关键字5.基于范围的for循环5.1范围for的语法5.2范围for使用条件6.指针空值nullptr正文开始1.函数重载1.1函数重载概念函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些函数的形参列表(参数个数,顺序,类型)不同,用来处理不同的情况​​​​​​​2.引用2.1引用概念。

2024-04-07 12:17:42 628 5

原创 C++入门(第一篇)

只要是全局域里面的东西都可以放到命名空间里去,如果前面不加Add,那么这个编译器就会报错,因为我们刚才说过了,访问顺序是局部再到全局,所以访问不到Add,因为Add不属于这两个里面的任何一个,相当于把里面的都隔离了,就好比局部空间域是你家的地,全局空间域是野地,而命名空间域就是别人家的地。cout 就是C++用来输入的,但是cout的好处就是它可以接受任意类型,是流出了吧,就是输入,cin就是流出,可以自动识别输入的类型,输入和输出说到这里。

2024-03-30 15:29:23 444 3

原创 文件操作C语言

2.1程序文件2.2数据文件2.3文件名3.二进制文件和文本文件4.文件的打开和关闭5.文件的顺序读写。

2024-01-20 15:13:49 413 1

原创 结构体内存对齐

>>今天带大家了解一下结构体的内存对齐问题,结构体里面可以放浮点型,字符型,整型,那么这些类型都有它们的大小,在结构体中是如何分布的呢?其实结构体是有存放的规则的,不是变量直接相加。看到了吗,对齐数就是这样用的,那么大家是不是不理解,为啥要这样,不直接连续存放,这其实就是拿空间换时间,可以仔细想一想,这样存放找的时候也能更快速的找到,那么大家可以看到这个结构体占了19个字节,那么对不对呢?>>>下面我们来将一下结构体的对齐数,其实结构体的对齐数是可以改的,而且每个平台的对齐数可能一样,也可能不一样,

2023-12-29 17:09:54 370 1

原创 整数和浮点数在内存中的存储

首先我们来讲整数在内存中的存储,这里先讲一下源码,反码,补码,我们都知道,一个整数可以写成二进制的形式,在计算机中所有数据都是以二进制进行储存的和处理的。但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,这样做的目的,是节省1位有效数字。这时,浮点数就采用下面的规则表⽰,即指数E的计算值减去127(或1023),得到真实值,再将有效数字M前加上第⼀位的1。IEEE 754 规定,在计算机内部保存M时,默认这个数的第⼀位总是1,因此可以被舍去,只保存后面的xxxxxx部分,

2023-12-24 11:16:04 832

原创 字符函数和字符串函数

OK就这么简单,大家自己试试吧。这种方法使用函数的递归把字符串的地址传到p,然后*p就可以拿到所在地址的元素,当这个元素等于\0的时候就返回0;否则就返回1+下一个地址,一直循环,直到碰到\0,再返回,这个时候返回的值就是字符串的长度。直接将两个地址传过来,解引用s2的值赋给s1然后都++,碰到\0就退出来,再将\0也赋值给s1这样就实现了这个函数,还有些地方可以优化,希望大家可以自己试试。其他的用法也类似,大家下来可以自己试一试,去查一查函数的返回类型和参数就可以自己使用了,下面我们来讲字符转换函数。

2023-12-09 00:21:50 1394

原创 C语言指针总结

当用const修饰指针变量的时候这个时候就不可以修改a的值,可以改地址,而当const修饰指针的时候,可允许改值,但是不允许改地址。void指针就是无类型的指针,可以改变她的类型,在不知道指针里面存放的是啥类型时,就可以使用void指针;可以看到的pp的地址比p的地址多了4,是因为int类型占四个字节,所以跳过的是变量类型占的的字节数,如果是char*类型的话,一次跳过一个字节。,然后用一个指针p来存放a的地址 , p就指向了地址a所以这个时候p里面存放的就是a的地址,打印出来结果就是一样的。

2023-12-02 03:12:08 1642 1

原创 扫雷(代码详解)

第一步:我们现在扫雷.c里面写出下面这个函数这个就是游戏的一个界面,效果如下:然后我们先实现游戏大概的框架,代码如下然后我们又创建了game函数,游戏的运行我们就用它来完成,代码如下首先扫雷我们创建一个9×9的格子,如下:先创建两个数组。

2023-11-07 18:13:08 166

空空如也

空空如也

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

TA关注的人

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