C深剖
文章平均质量分 95
深入理解
Zzt.opkk
开开心心写代码
展开
-
【C深度剖析】内存管理相关细节
内存管理楔子一、什么是动态内存二、为什么要有动态内存三、栈,堆和静态区四、常见的内存错误及对策楔子C语言的特色之一是:程序员必须亲自处理内存的分配细节。大多数C语言实现使用栈(Stack)来保存函数返回地址/栈帧基址、完成函数的参数传递和函数局部变量的存储。然而,在部分极特殊的平台上,使用栈并不能获得最大效率。此时的实现由编译器决定。 如果程序需要在运行的过程中动态分配内存,可以利用堆(Heap)来实现。基本上C程序的元素存储在内存的时候有3种分配策略:静态分配如果一个变量声明为全局变原创 2022-01-02 17:50:01 · 456 阅读 · 0 评论 -
【C语言深剖】可变参数列表
原创 2022-01-14 21:03:34 · 284 阅读 · 0 评论 -
【C语言深剖】函数栈帧的创建与销毁
目录楔子调用main函数形成临时变量调用函数形成Add函数栈帧释放add栈帧释放main栈帧楔子什么是栈栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)什么是栈帧从逻辑上讲,栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数执行完后返回到哪里等等。栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧原创 2022-01-03 17:09:54 · 349 阅读 · 0 评论 -
【C深度解剖】负数(取余&取模)
????原创 2021-12-29 15:56:21 · 2022 阅读 · 0 评论 -
【初识c语言】(1)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-10-16 18:06:21 · 291 阅读 · 2 评论 -
【C深剖剖析】深入理解指针
原创 2022-01-01 18:42:53 · 681 阅读 · 0 评论 -
【C深度剖析】预处理
????一、宏的理解与使用一、宏的理解与使用1)数值宏常量替换复杂数值 例#define PI 3.1415926防止硬编码 例我们写三子棋时定义棋盘大小为3*3,#define ROW 3,如果我们需要写五子棋时只需要把3修改为5即可2)函数宏常量我们经常需要使用一个简单函数比如乘法函数,这时候我们就可以用#define MUL(A,B) ((A)*(B))注:我们需要把每一个变量用()包裹好,否则会出现MUL(3+4,5)结果是23,原因是3+4*5=23;所以使用时要小心3原创 2021-12-31 00:01:29 · 341 阅读 · 0 评论