首页 > 其他分享 >嵌入式C基础

嵌入式C基础

时间:2024-08-21 22:24:37浏览次数:6  
标签:存储 局部变量 基础 函数调用 嵌入式 内存 上下文

1. 堆栈

        在嵌入式系统中,堆(Heap)和栈(Stack)是内存中存储数据的两个重要区域,它们在功能、管理方式和生命周期等方面存在显著差异。

区别

功能

后进先出,栈指针向下增长,主要用于存储函数调用时的局部变量、函数参数、返回地址及函数调用时的上下文信息

可以动态分配和释放的内存区域,常用于存储程序运行时创建的对象和数据结构等

管理方式

栈的分配和回收由编译器自动完成,比如当函数被调用时,其局部变量和上下文信息会被压栈,函数返回时,这些信息会弹出

堆的分配和回收由程序员手动管理,C语言中用malloc、calloc等分配内存,free释放内存

生命周期

标签:存储,局部变量,基础,函数调用,嵌入式,内存,上下文
From: https://blog.csdn.net/fly_802/article/details/141403724

相关文章

  • 040、Vue3+TypeScript基础,使用nanoid库生成id
    01、使用powershell,输入npminanoid来安装: 02、App.vue代码如下:<template><divclass="app"><h2class="title">App.Vue</h2><Page1/><br><Page2/></div></template><......
  • vue3-基础
    一、创建vue3项目npminitvue@latest二、语法介绍 1.<scriptsetup>语法糖<scriptsetup>constaa='123'constclickFn=()=>{ console.log(123);}</script><template> <div>{{aa}}</div> <button@click=&quo......
  • 【嵌入式裸机开发】智能家居入门7:最新ONENET,MQTT协议接入,最全最新(微信小程序、MQTT协
    智能家居入门7前言一、ONENET云平台创建产品与设备二、STM32端连接服务器前的准备三、STM32端实现四、微信小程序端连接服务器前的准备五、微信小程序端实现六、最终测试前言本篇文章介绍最新ONENET云平台的MQTT协议接入方法,在STM32上实现数据上云与服务器下发数据......
  • conda基础命令学习
    前言本文包括了在windows系统下创建和删除虚拟环境、查看版本等一系列指令,会不定期更新。所有创建的虚拟环境都在envs文件中哦。(base除外)查看conda版本:conda--version创建虚拟环境:condacreate--n环境名python=版本号删除虚拟环境:condaremove-n环境名--all......
  • 从零基础学Go(七)——Go的反射
    前言......
  • 信息学奥赛初赛天天练-71-NOIP2016普及组-基础题2-进制转换、二进制转八进制、八进制
    NOIP2016普及组基础题24以下不是CPU生产厂商的是()AIntelBAMDCMicrosoftDIBM8与二进制小数0.1相等的八进制数是()A0.8B0.4C0.2D0.19以下是32位机器和64位机器的区别是()A显示器不同B硬盘大小不同C寻址......
  • IM开发者的零基础通信技术入门(十三):为什么手机信号差?一文即懂!
    【来源申明】本文引用了微信公众号“网优雇佣军”的《是谁偷走了我家的手机信号?》文章内容。为了更好的内容呈现,下文在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作者的劳动。1、系列文章引言1.1适合谁来阅读?本系列文章尽量使用最浅显易懂的文字、图片来组织内容......
  • MarkDown基础及表格、KaTeX公式、矩阵、流程图、UML图、甘特图语法
    概述最多可设置6级标题技巧列表有序列表MD语法:1.你好2.我也好呈现效果:你好我也好无序列表MD语法:-a-b*aa*bb+aaa+bbb效果:abaabbaaabbb结论,支持三种方式:-、*、+TODO列表MD语法:-[x]后端接口开发-[]与前端联调呈现效果:后端......
  • 操作系统基础之磁盘及软考高级试题解析
    概述基本概念磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存在扇区中。磁头首先寻找到对应磁道,然后等到磁盘进行周期旋转到指定的扇区,才能读取到对应的数据。存取时间=寻道时间+等待时间盘面号(磁头号):0~M-1;由于一......
  • 【Three.JS零基础入门教程】第七篇:材质详解
      前期回顾:【Three.JS零基础入门教程】第一篇:搭建开发环境【Three.JS零基础入门教程】第二篇:起步案例【Three.JS零基础入门教程】第三篇:开发辅助【Three.JS零基础入门教程】第四篇:基础变换【Three.JS零基础入门教程】第五篇:项目规划【Three.JS零基础入门教程】第六篇:物......