- 博客(153)
- 收藏
- 关注
原创 Python函数语法详解(与C++对比学习)
返回的是一个元组对象,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便;每次只用一个栈帧,尾递归的好处就是最外层的函数调用完自身就会销毁函数栈帧,从而保证每次只使用一个栈帧,遗憾的是,大多数编程语言没有针对尾递归做优化,Python解释器也没有做优化,所以,即使把上面的。在C++中,函数的返回值类型是必须标注的,静态类型语言必须保证接收函数返回值的时候数据类型是匹配的。
2024-07-05 18:27:44
856
原创 Python基础语法(与C++对比)(持续更新ing)
有C++基础的同学来看本篇博客效果更佳,一边帮你复习C++知识,一边通过对比来学习Python
2024-07-04 20:58:06
1815
原创 Python的列表list(与C++的vector对比学习)
Python的列表list与C++的vector很像,但也有很多不同之处,接下来我们将会通过C++的vector对比学习列表list。
2024-07-03 15:57:43
713
原创 关于【setrlimit函数在设置RLIMIT_AS与进程替换】和【重定向与异常信息】的两个问题及解释
RLIMIT_AS主要的问题是与进程替换有关联,RLIMIT_CPU主要的问题是与重定向stderr有关联
2024-05-30 17:32:24
576
5
原创 逻辑自洽地区分【左值与右值】
一句话:“ 对一个表达式取地址,可以通过编译,那就是左值;反之则为右值。左值可以作为右值,此时是用到的对象的值/内容,右值不能作为左值”
2024-04-22 01:00:00
824
原创 C++【二叉搜索树的总结与模拟实现】
本博客模拟实现了二叉搜索树的插入、删除、查找;删除的5种情况讨论,并对二叉搜索树进行了优化,使其可以传入整型、浮点型、字符型、字符串string类型;并在插入的数据为递增或递减时,退化为单支树的问题进行了解决,使用了AVL树,后续会更新红黑树解决单支树问题,最后有优化后版本的全部代码!
2024-04-22 00:00:00
1072
原创 C++版【AVL树的模拟实现】
希望大家可以自行写出遍历操作、求树的高度、求树的节点个数等成员函数,需要注意的是,利用递归来完成的,都需要写个子函数,然后封装一下子函数.大家感兴趣,可以自行查阅删除操作后续会实现红黑树,红黑树那里会模拟实现一下map和set。
2024-04-15 00:00:00
890
原创 C语言—每日选择题—Day70(需要看)
1、关于内存管理,以下有误的是( )A: malloc在分配内存空间大小的时候是以字节为单位B: 如果原有空间地址后面还有足够的空闲空间用来分配,则在原有空间后直接增加新的空间,使得增加新空间后的空间总大小是:newSizeC: 如果原有空间地址后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存,并把先前内存空间中的数据复制到新的newSize大小的空间中,然后将之前空间释放。
2024-04-11 22:26:06
557
原创 C语言—每日选择题—Day65
我们的刷题专栏又又又开始了,本专栏总结了作者做题过程中的好题和易错题。每道题都会有相应解析和配图,一方面可以使作者加深理解,一方面可以给大家提供思路,希望大家多多支持哦~
2024-04-09 20:10:14
1061
原创 Linux【进程控制】总结
首先进程控制分为四大部分:进程创建、进程退出、进程等待、进程替换;第一步:学习如何来创建一个进程,一般我们会使用fork函数来创建子进程,创建子进程之后,就要去探索子进程与父进程的相关联系;第二步:学习如何让一个进程退出,需要认识并熟练使用exit、_exit、return函数来完成进程退出,了解进程退出码,进程退出码的组成,如何获取进程退出码;第三步:学习如何等待一个进程和进程等待的相关函数,通过函数来获取进程退出码;第四步:学习如何进行进程替换,了解并熟练使用进程替换的接口exec*函数。
2024-04-08 00:00:00
1237
3
原创 【C++】继承总结
本博客介绍了继承的概念、继承的规则、基类与派生类对象的赋值转换、继承的作用域、隐藏(重定义)、派生类的默认成员函数、继承与友元的关系、继承与静态成员、继承与组合、对多继承、菱形继承和菱形虚拟继承
2024-04-08 00:00:00
1897
8
原创 【命令行参数】与【环境变量】
本博客介绍了main函数的参数——int argc、char *argv[]、char *env[]的内容,以及如何去使用它们,创造自己的指令,更着重讲述了环境变量的作用和演示。
2023-12-27 00:15:00
1343
2
原创 进程:【概念】【进程标识符】【进程状态】
简单讲解了什么是进程、什么是PCB。介绍了进程标识符和如何查看进程标识符,最后列举出了Linux下的进程状态有哪些。
2023-12-25 00:15:00
3056
3
原创 C语言—每日选择题—Day63
1. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为A:0~255B:0~3267C:0~65535。
2023-12-24 22:19:40
931
原创 C语言—每日选择题—Day58
本题考查的是大家看代码的能力,是让k得到的是最大值的数组下标,k属于输出型参数,也就是会在函数调用之后使用的。所以在函数体内部,就要去更新*k的下标,最后要成为最大值的下标,那一定是对*k的更新,BD排除。C语言中没有写函数返回值类型,默认是int类型,函数返回值以函数返回值类型为准,如果return的类型和返回值类型不匹配,要发生隐式类型转换。本题考查的是%md的打印,负号代表的是左对齐,d前面的数字大于要打印的位数,就补空格。D:错误,两个字符不可以用 ' ',格式错误。2. 以下函数值的类型是()
2023-12-21 22:22:55
1132
2
原创 C语言—每日选择题—Day59
1. 以下关于 typedef 正确的描述是()【多选】A:用typedef可以定义各种类型别名,但不能定义变量B:用typedef只是将已存在的类型用一个新的名称代替C:用typedef可以增加新类型D:使用typedef便于程序的通用。
2023-12-21 22:08:59
1100
原创 C语言—每日选择题—Day57
pp,先看pp是什么,pp是一个数组指针,存的是整个数组的地址,后面赋值pp = &x,那 *pp = *&x = x,x是首元素的地址。但是大家要记住一点,我们每次程序执行的时候,开辟的空间都不是固定的,所以这个数组的地址就是不固定的,那首元素的地址就是随机值。首先p = str[0],str数组是一个指针数组,所以str[0]是字符串“stra”的首元素地址,那p++,就要看p的类型,p是char*类型,那就往后移动一个字节,所以就到t位置,之后到r位置。记住一点,数组传参的时候,形参会降成指针。
2023-12-20 21:38:45
1129
6
原创 C语言—每日选择题—Day56
但是这个字符串是在常量区定义的,所以上下两个字符串是一样的,因为我们系统很聪明,在常量区的字符串是只读的,不可以修改。这一组比较的是数组名,数组名是首元素的地址,也就是比较两个地址是否相同,一定是不相同的,因为这是两个不同的变量,这两个变量都会在栈上开辟空间,然后分别存放字符串;C D的区别就是前置--和后置--,前置--的表达式的值为--之后的值;',这个是一个转义字符,\把后面的"原本表达的意思改变了,所以\"是一个新字符,正确用法。B:"a"这是一个字符串,后面有个隐藏的\0,要注意是双引号!
2023-12-20 21:21:38
1075
原创 C语言—每日选择题—Day54
1. 存在int类型变量x,y,z,其对应值为x=0x59,y=0x39,z=0x6E,则x * y + z的值为()
2023-12-19 21:52:54
1085
原创 C语言—每日选择题—Day53
这个题就很有趣了,首先是一个整型数组有12个变量,然后定义了一个指针数组,这个指针数组分别存的是&a[0]、&a[3]、&a[6]、&a[9]这四个地址;所以p[3] [2] = *(&a[9] + 2);利用指针来理解:p[3] [2] = *(p[3] + 2) 这样就是先拿到p[3]这个元素,也就是&a[9]看第四题博客,然后就来到了&a[11],所以最后就是*&a[11] = a[11] = 12;很明显本题为真,执行的是a + 32,这是将大写字符转换为小写字母的操作。5. 下列程序的输出是()
2023-12-18 20:31:26
1174
6
原创 C语言:指针详解【图解 + 练习】
本篇博客要搞懂什么是取地址( & ),什么是解引用( * )、学习一级指针,二级指针、搞懂 数组指针和指针数组、发现指针和数组的关系,包括一维、二维数组名,&数组名;
2023-12-18 00:15:00
3618
17
原创 C语言—每日选择题—Day52
1. 执行c程序代码,a,b,c,d的值分别为()A:2,0,1,2B:1,0,1,1C:2,0,1,1D:2,0,0,2。
2023-12-16 22:48:21
200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人