- 博客(18)
- 收藏
- 关注
原创 C++入门(3)
以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。
2024-09-29 14:07:43
936
原创 C++入门(2)--引用
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。类型& 引用变量名(对象名) = 引用实体;注:引用类型必须和引用实体时同种类型。
2024-09-28 11:54:43
305
原创 C++入门(1)
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。//命名空间中可以定义变量/函数/类型int val;//命名空间可以嵌套int a;int b;int c;int d;//同一个工程中允许存在多个相同名称的命名空间,//编译器最后会合成同一个命名空间。
2024-09-28 11:47:03
1302
原创 -栈和队列-
栈:一种特殊的顺序表,只允许固定的一段进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。(先进后出)压栈:栈的插入操作叫压栈/进栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。出栈和压栈可以随时进行,比如有四个数据,可以先进两个数据再出一个数据再进两个数据。
2024-09-12 15:36:04
564
原创 数据结构---顺序表+链表
衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的;时间复杂度主要衡量一个算法的运行快慢;空间复杂度主要衡量一个算法运行所需要的额外空间。
2024-09-11 14:53:33
834
原创 通讯录的实现(vs2019)
通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址实现建议:实现之前我们可以分成三个模块test.c用于专门测试通讯录功能contact.c用于实现通讯录具体功能contact.h用于实现接口的声明。
2024-09-05 16:14:19
232
原创 数据的存储
大端存储(大端字节序存储)模式:数据的低位字节保存在地址的高地址中,而数据的高位字节,保存在内存的低地址;小端存储(小端字节序存储)模式:数据的低位字节保存在地址的低地址中,而数据的高位字节,保存在内存的高地址;%d打印的是有符号整形%u打印的是无符号整形。
2024-08-18 17:47:27
723
原创 库函数的模拟实现
不像strcpy(),strncpy()不会向dest追加结束标记'\0'str2 -- 要进行比较的第二个字符串。str1>str2 返回大于0的数。str1<str2 返回小于0的数。这个函数的作用就是讲一个数组中前num个字节,设置组成value值。n -- 要比较的最大字符数。参数: str1 -- 要进行比较的第一个字符串。返回值: str1=str2 返回0。
2024-01-26 15:06:26
1452
1
原创 指针的进阶(2)
数组指针----指向数组的指针输出的是两个地址,这两个地址是 Add 函数的地址。调用的话和正常的函数调用一个道理:以上代码是一次函数调用,。1.把0强制类型转换为:无参,返回类型是void的函数地址【 void ( * )() 0 】2.调用0地址处的这个函数signal是函数名,以上代码。
2024-01-22 21:52:22
829
原创 指针的进阶(1)
数组指针----指针----指向数组的指针整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针应该是:能够指向数组的指针。//p1, p2分别是什么?p1是指针数组;p1和[ ] 先结合,int 和 * 结合,所以这个数组是指针,指针的类型是整型。p2是数组指针;p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针。
2024-01-19 16:51:19
884
1
原创 深度剖析数据在内存中的存储(编译环境:VS2019)
请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。把一个高位字节序的内容存放在低地址除,把低位字节序的内容存放在高地址处。把一个高位字节序的内容存放在高地址处,把低位字节序的内容存放在低地址处。方法一方法二方法三。
2024-01-18 17:09:27
887
1
原创 扫雷实现(编译环境:vs2019)
1.创建开始菜单。2.创建两个棋盘初始化,用于放雷和排雷,初始化的棋盘比显示出来的棋盘要多两行两列(为了在 排雷的时候防止越界)。3.布雷,并打印出雷的初始化棋盘。4.玩家输入排雷坐标。5.反馈坐标结果。6.循环上面步骤,直到排雷成功或者被炸死。为了便于修改游戏难度,我们直接在头文件中进行define行、列和雷的数量。
2024-01-07 19:18:07
1251
1
原创 井字棋的实现(编译环境:vs2019)
1.开始菜单。2.创建棋盘,用二维数组创建一个3×3的棋盘。3.初始化棋盘,将二维数组中全部放入空格。4.打印棋盘,用线条区分位置5.玩家下棋。6.电脑下棋7.判断输赢。
2024-01-01 15:56:02
1288
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人