- 博客(7)
- 收藏
- 关注
原创 浅谈c语言模拟栈中常见的的内存泄漏
括号匹配题目(有效的括号)—浅谈c语言模拟栈中常见的的内存泄漏题目:力扣—有效的括号1.内存申请后未释放由于c语言没有析构函数等函数,栈的初始化和销毁都要自己实现,在 return 前有可能忘记销毁栈占用的空间2.没有入栈导致free时出错模拟栈在初始化时,可能没有分配空间,如果栈一直未插入数据,就会导致栈释放时依然未申请空间,进行不了free操作那如果不进行free操作呢?不操作的话,可能会有栈为空,但仍占用空间的情况。这种情况下,如果不对已申请的空间进行释放,那么依然会造成内存泄漏//
2022-02-14 19:56:19
411
1
原创 深度优先搜索(dfs)后保留前 K 组有效数据的两种方法
深度优先搜索(dfs)后保留前 K 组有效数据的两种方法洛谷例题:P1219 [USACO1.5]八皇后 Checker Challenge1.一维数组存储数据,转入二维数组保存法//int print(){ if(total<=2)//保证只输出前三个解,如果解超出三个就不再输出,但后面的total还需要继续叠加 { for(int k=1;k<=n;k++) cout<<a[k]<<" ";//for语句输出
2022-02-14 19:53:56
511
原创 负数使用补码???为什么!
要了解这个问题:首先得从原码说起:原码:用0表示+用1表示-定点整数原码:n+1位为字长0有+0和-0两种形式最大值:2^n-1 最小值:-(2^n-1)原码特点:表示简单,进行加减法复杂,0表示不唯一那补码又是什么呢?计量器具的容量,或称模数 n位字长...
2021-08-20 17:37:15
294
4
原创 数据存储(含浮点数)
大端字节序和小端字节序 q q q1.设计程序判断大端字节序和小端字节序#include<stdio.h>int main(){ int a = 1;//( 大端0x00 00 00 01 或 小端0x 01 00 00 00) char* b = (char*)&a;//将int* 强制转换为char*( 大端0x00 小端0x 01 ) if (*b == 0) { printf("大端"); } else { printf("小端"
2021-08-13 21:37:45
182
2
原创 主函数框架 初了解 ——打印hello world
初学c语言时,我们最先了解到的函数——主函数,有他自己的结构,可能会令我们感到无从下手。但如果我们用一个比较基本的函数去了解他,比如 printf("hello world"); ,会使我们易于接受。#include<stdio.h>//打招呼 #include<stdio.h> 包含一个库函数 //<standard input output .h>输入 输出
2021-08-12 19:44:20
785
原创 1 个函数栈帧创建的往事今生
引文在日常学习c语言的过程中,你可能有许许多多的疑问:局部变量是怎么创建的 为什么局部变量的值不做初始化就是随机值 函数是怎么传参的?传参的顺序是怎么样的? 形参和实参是什么关系? 函数调用是怎么做的? 函数调用结束后是怎样返回的?要想了解其中的原因,我们就不可避免去研究c语言中更深层次的原理--汇编为了清晰的入手深层原理,我们用加法函数做一个实验目录:1.栈帧的管理工具——寄存器2.数据存储——内存知识3.简易函数——加法函数1.寄存器
2021-08-06 22:24:43
152
2
原创 (10秒解决) 存在正文时不允许未命名的原型参数
Error:存在正文时不允许未命名的原型参数当我们在定义函数时,可能会有这种报错,常常困扰我们,看起来没问题的代码,怎么就报错了呢?检查参数是否为(类型+变量) 检查参数是否为(常量)(无数据类型) 更改参数(加上名称)、(删去变量类型)等...
2021-07-28 16:27:11
21275
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人