Pwn入门基础理论

导学 

1. 首先进入vi编辑器,查看源码

11_C基础(宏定义)


宏定义 类似的宏名称通常用于表示不同的状态码、错误码或特定的常量值。以下是一些常见的宏名称示例,通常用于各种系统或应用程序中: 文件操作相关的宏 FILE_OPEN_SUCCESS:文件打开成功 FILE_READ_ERROR:文件读取错误 FILE_WRITE_ERROR:文件写入错误 FILE_

10_C基础(变量与宏定义)


全局变量和局部变量 全局变量 (Global Variable) 定义和作用域: 全局变量是在函数外部定义的变量,它的作用域(Scope)覆盖整个程序,也就是说,在定义全局变量的文件中,所有的函数都可以访问该变量。 如果一个变量需要在多个函数之间共享数据,那么定义为全局变量是一个可行的选择。 生命周

08、9_C基础(数组与字符串)


数组 在C语言中,数组中的元素默认情况下是对齐的。对齐是指编译器在内存中存储数据时,会将数据存储在符合其数据类型大小的内存地址边界上,以提高访问速度和性能。 例如,对于一个整数数组,由于每个整数通常占用4个字节(在32位或64位系统上),编译器会尝试将每个整数存储在可以被4整除的地址上。如果数组中的

07_C基础(回车换行、栈结构与函数调用)


函数的机制调用约定及栈细节,包括函数的调用过程、栈结构的形成与利用、以及如何通过栈结构实现函数递归调用。讲解中详细分析了函数调用时参数的传递、返回地址的保存、局部变量的申请与释放等关键步骤,并通过走迷宫的例子展示了递归调用在解决复杂问题中的应用。此外,还提及了函数调用约定的几种类型及其在不同编程环境

06_C基础(循环与递归、printf)


循环结构和递归 递归 递归是一种编程技术,通过函数调用自身来解决问题。递归的核心思想是将一个复杂问题分解成更小的相同问题,然后递归地解决这些小问题。递归通常包括两个部分:基准情况和递归情况。 基准情况:这是递归结束的条件。当满足基准情况时,函数不再调用自身,而是直接返回一个结果。基准情况确保递归不会

04、5_C基础(goto、if-else和switch-case)


如果实现某种图形,我们可以列方程,例如一个零星,我们可以建立坐标 如果实现求位数的话,可以对取lg。 #include <streamio> #inculde <math.h> int n = 100; double dblBitCount = 0.0; for (int i = 1; i <=

03_C基础(命名规则、内存对齐与编译器)


https://blog.csdn.net/weixin_48896613/article/details/127371045(内存对齐) 简介:C语言命名规范,内存管理与错误处理,C语言数据类型与内存布局,C语言数据类型转换与精度丢失。 微软命名规范 微软(Microsoft)有严格的编程命名规范

02_C基础(随机与编码、浮点数运算)


简介:计算机编程中的随机数生成、补码编码以及浮点数表示方法。随机数的生成原理,包括其数学基础和实际应用中的讨论过程。接着讲解了补码编码的概念及其在正负数表示中的应用,并通过具体例子说明了补码编码的工作原理。最后,介绍了浮点数的二进制表示方法,包括小数点的位置记录和小数部分的转换过程,强调了浮点数精度