嵌入式(C语言基础)
1.内存分为四个区域:栈区堆区数据区代码区栈区:由编译器自动分配存放局部变量堆区:程序员手动分配手动存放数据区:存放全局变量静态变量代码区:只读存放程序指令2.作用域和生命周期作用域是变量可以使用的范围生命周期是变量在内存的时间3.文件编译后会生成指令和数据函数就是指令变量就是数据4.关键字static,const,volatilestatic:修饰局部变量时将局部变量的生命周期延长为整个程序但作用域还是所在的函数会保留上次的值修饰全局变量时全局变量只能在所在的文件里面被使用其他文件不能使用该全局变量修饰函数时函数不能被其他文件调用只能在该文件里面被使用const:const int *p修饰变量将变量的值为固定int * const p修饰指针将指针固定但是指向的值可以变volatile:修饰的变量不会被编译器优化并且每次都要从内存里面读取通常用于内存映射的硬件寄存器中断服务程序5.C编译流程预处理:将.c和.h文件变成.i文件不会检查语法错误用到预处理器编译:将.i文件变成.s文件会检查语法错误用到编译器汇编:将.s文件变成.o文件用到汇编器链接:将.o文件变成可执行文件用到链接器6.define和typedef的区别define:在预处理时进行文本替代全局替换不会检查语法错误typedef:在编译时处理在所在的作用域内给一个存在的类型起别名7.数组和链表的区别数组:在内存里面是一个连续的区域插入和删除数效率低查找数据效率高链表:在内存里可以存放任何地方不要求连续插入和删除数据效率高查找效率低8.malloccallocrealloc的区别mallocsize_t size):分配一个size大小字节的连续内存空间不初始化内存分配好的内存的值不确定callocsize_t nmemb,size_t size:分配nmemb个大小为size字节的连续内存空间会将分配好的内存的值初始化为0realloc(void *ptr,size_t size):用于调整已经分配好的内存空间从ptr所指的位置开始调整为size大小字节的内存空间9.函数指针指针函数回调函数函数指针参数的区别函数指针:本质就是一个指针其指向一个函数int (*fun)(int x,int y)指针函数:本质是一个函数其返回值为指针int* fun(int x,int y)回调函数:就是把这个回调函数的地址放在另一个函数的参数里面这个参数是一个函数指针当函数调用时会回头调用回调函数函数指针参数:就是函数定义时的参数是一个函数指针10.指针数组和数组指针指针数组:本质是数组元素是指针int *ptr[]数组指针:本质是指针指向整个数组int p[]11.野指针和悬指针野指针:指向一个未初始化不知道指向什么的地址的指针悬指针:指向一个曾经有效但是已经被释放的内存的地址的指针

相关新闻

信号完整性误区解析:25MHz 时钟信号实测,揭示上升沿比频率更关键

信号完整性误区解析:25MHz 时钟信号实测,揭示上升沿比频率更关键

25MHz时钟信号设计陷阱:为什么上升沿比频率更能摧毁你的电路?当我在深圳一家通信设备公司担任硬件工程师时,曾遇到一个令人费解的问题——一块使用25MHz时钟的工控板频繁出现数据错误,而同样频率的另一块板却运行完美。经过三天三…

2026/7/7 1:22:48阅读更多 →
搞定企业级SSO单点登录:OAuth2、OIDC与SAML真实排障血泪史

搞定企业级SSO单点登录:OAuth2、OIDC与SAML真实排障血泪史

搞定企业级SSO单点登录:OAuth2、OIDC与SAML真实排障血泪史 OAuth 2.0:你以为是登录,其实就是借张房卡 OAuth 2.0的本质就是“授权”。这就好比你去住酒店,你去前台拿了一张房卡,这张房卡能刷开你的房间门,也…

2026/7/7 1:22:48阅读更多 →
Notepad--:国产跨平台文本编辑器的终极替代方案,完美支持Windows/Linux/Mac

Notepad--:国产跨平台文本编辑器的终极替代方案,完美支持Windows/Linux/Mac

Notepad--:国产跨平台文本编辑器的终极替代方案,完美支持Windows/Linux/Mac 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_…

2026/7/7 1:17:47阅读更多 →
为什么别家视频孪生总丢目标?CameraGraph拓扑图谱从底层解决跨镜追踪漂移痛点

为什么别家视频孪生总丢目标?CameraGraph拓扑图谱从底层解决跨镜追踪漂移痛点

为什么别家视频孪生总丢目标?CameraGraph拓扑图谱从底层解决跨镜追踪漂移痛点一、行业共性:市面视频孪生频繁丢目标、ID漂移的三大底层根源市面上绝大多数视频孪生跨镜追踪全程依托ReID外观特征匹配做身份关联,技术范式停留在「二维图像比对」…

2026/7/7 2:27:53阅读更多 →
【单片机毕业设计】基于 STM32 的智能循迹避障小车控制系统设计,基于单片机的多功能智能小车感知检测系统开发(017401)

【单片机毕业设计】基于 STM32 的智能循迹避障小车控制系统设计,基于单片机的多功能智能小车感知检测系统开发(017401)

文章目录 20 个相关毕业设计备选题目项目研究背景摘要总体方案一、核心硬件清单及选型说明二、整体硬件搭建方案 核心功能一、核心自主行驶功能二、模式切换与预警功能三、辅助监测可视化功能 技术路线项目演示关于我们项目案例源码获取 博主介绍:✌️码农一枚 &…

2026/7/7 2:27:53阅读更多 →
全栈大模型智能体系统架构:从模型调用到自主协作的工程实践

全栈大模型智能体系统架构:从模型调用到自主协作的工程实践

一、引言:架构范式的根本转移 当大模型(LLM)的能力逐渐同质化,基于Agent(智能体)的应用架构正在成为新的技术护城河。2026年AI技术生态迎来了一个关键转折:单一模型能力已无法满足复杂业务需求&…

2026/7/7 2:27:53阅读更多 →
FlaUInspect:革新UI自动化测试的现代化元素检查器

FlaUInspect:革新UI自动化测试的现代化元素检查器

1. 项目概述:为什么我们需要FlaUInspect? 如果你做过UI自动化测试,尤其是基于微软UI自动化(UIA)框架的,那你一定对“找元素”这个环节又爱又恨。爱的是,一旦元素定位稳定,自动化脚本…

2026/7/7 2:27:53阅读更多 →
2.4 数据治理 vs 数据管理 vs 数据运维:三者的边界、协同与“定战略、抓执行、保稳定”的逻辑

2.4 数据治理 vs 数据管理 vs 数据运维:三者的边界、协同与“定战略、抓执行、保稳定”的逻辑

2.4 数据治理 vs 数据管理 vs 数据运维:三者的边界、协同与“定战略、抓执行、保稳定”的逻辑2.4.1 概念辨析:治理、管理、运维的本质区别2.4.2 数据治理:定战略——数据的“立法与司法”机构核心定义核心活动责任主体:业务 管理…

2026/7/7 2:27:53阅读更多 →
翡翠定制怕货不对版?从选料、设计到复检的完整避坑指南

翡翠定制怕货不对版?从选料、设计到复检的完整避坑指南

靠谱的翡翠定制,核心不在于商家喊“包你满意”,而在于他敢不敢把选料、设计、加工到复检的每一步,都变成可核对、可留痕的流程。以四会源头工厂“臻世祥”为观察样本,我们来看一套可验证的定制避坑标准,以及如何用这套…

2026/7/7 2:22:53阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/6 4:26:20阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/6 2:48:33阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/6 4:45:01阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/6 4:45:01阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/6 4:45:03阅读更多 →