- 博客(8)
- 收藏
- 关注
原创 PWNer日记:堆--基础知识
在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连续的线性区域,它由低地址向高地址方向增长。我们一般称管理堆的那部分程序为堆管理器。需要注意的是,在内存分配与使用的过程中,Linux 有这样的一个基本内存管理思想,只有当真正访问一个地址的时候,系统才会建立虚拟页面与物理页面的映射关系。所以虽然操作系统已经给程序分配了很大的一块内存,但是这块内存其实只是虚拟内存。只有当用户使用到相应的内存时,系统才会真正分配物理页面给用户使用。
2024-03-26 21:19:03
1596
1
原创 动态分配数组空间
二维数组也能使用上述方法动态开辟空间。但是在实际使用时,二维数组常常作为函数的参数。此时必须要设定第一维的大小。这大大降低了函数的泛用性。这种方法其实就是用变量来充当数组的下标。使用时需要注意一下变量必须是非负整数。对于一维的数组,C++规定了一种简单的动态开辟数组空间的方法。因此,有没有什么方法能够在传参时也不用规定第一维大小呢?那就是:动态内存分配!
2024-02-19 10:58:51
241
1
原创 C到C++快速入门
C++是C语言的扩展,两种语言完全兼容,C语言的绝大部分内容可以直接用于C++的程序设计,用C语言编写的程序可以不加修改地用于C++。本文章适用于学完c语言想继续学习c++的uu们。
2024-02-06 20:13:53
652
1
原创 每日一题|蓝桥杯
上来先找数学规律,容易想到如果作为“头”的数大于作为“尾”的数,那么交换之后新数一定小于旧数。如果头=尾,写一个循环,接着比较头+1位置和尾-1位置的数,如果左边的数小于右边的数,那么说明这种情况符合题意,如果等于,就比较头+2和尾-2....如果大于,说明肯定不符合题意,直接退出循环。
2024-02-06 12:47:40
135
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人