当前位置: 首页 > article >正文

const 变量的存储位置

const 变量的存储位置不是绝对的只读区这是 C/C 面试/学习高频易错点核心结论const 只修饰「只读权限」不直接决定存储位置变量放哪里由变量的「作用域/生命周期」决定。一、分情况讲清楚C/C 通用1. 全局 const 变量 / 静态 const 变量// 全局 const const int g_val 10; int main() { // 静态 const static const int s_val 20; return 0; }✅存储位置只读数据段.rodata✅特性程序运行期间不能修改强行修改会段错误/崩溃。2. 局部 const 变量栈上int main() { // 局部 const const int a 10; return 0; }✅存储位置栈区stack❌不是只读区✅特性语法上不能直接改但可以通过指针绕过 const 强行修改C语言。这是最容易踩坑的地方栈上的 const 变量物理上不是只读的。3. 字符串字面值const char*const char* str hello;✅存储位置只读数据段✅特性绝对不能修改修改直接崩溃。二、关键误区澄清误区 1const 只读区❌ 错const 是编译期约束告诉编译器「这个变量不能被直接赋值」只读区是运行期内存属性由操作系统限制写入。误区 2局部 const 不能被修改❌ C语言里可以用指针绕开#include stdio.h int main() { const int a 10; int* p (int*)a; *p 20; // 强行修改 printf(%d\n, a); // 输出 20 return 0; }✅ 运行成功因为 a 在栈上不是只读内存。C 对 const 优化更强局部 const 可能被优化成立立即数不一定能修改。误区3const 让它不能改❌ 错const 只是语法限制真正不让改的是操作系统的内存保护机制。真相编译器看到全局 const就把它安排到只读段操作系统加载程序时给只读段打上“禁止写入”标签你用指针修改 向只读地址写数据 操作系统强制执行崩溃。三、一张表总结变量类型存储位置是否真正只读能否强行修改全局 const / 静态 const只读数据段✅ 是❌ 不能崩溃局部 const栈栈区❌ 不是✅ 可以Cconst char* 字符串只读数据段✅ 是❌ 不能崩溃总结const 不决定存储位置只限制语法赋值权限只有全局/静态 const、字符串常量会放进只读区局部 const 变量在栈上物理可写只是语法不让改。

相关文章:

const 变量的存储位置

const 变量的存储位置:不是绝对的只读区!这是 C/C 面试/学习高频易错点,核心结论:const 只修饰「只读权限」,不直接决定存储位置,变量放哪里,由变量的「作用域/生命周期」决定。一、分情况讲清楚…...

RTX 3090 + PyTorch 1.7.1环境配置全攻略:从Scene-Graph-Benchmark.pytorch到Apex安装避坑指南

RTX 3090深度学习环境配置实战:从PyTorch到Scene-Graph-Benchmark全流程解析 当高端硬件遇上前沿算法,环境配置往往成为开发者面临的第一道技术门槛。RTX 3090凭借24GB显存和Ampere架构的强大算力,成为计算机视觉研究的理想选择,但…...

保姆级教程:在YOLOv12中集成CBAM注意力模块(附完整代码与配置文件)

从零实现YOLOv12与CBAM注意力模块的深度整合实战指南 在目标检测领域,YOLO系列算法始终保持着前沿地位。最新发布的YOLOv12在速度和精度之间取得了更好的平衡,而注意力机制的引入则能进一步提升模型对关键特征的捕捉能力。本教程将手把手带你完成CBAM注…...

SAS(Serial Attached SCSI)在企业级存储中的核心设计与实战解析

1. SAS技术在企业级存储中的核心价值 如果你拆开过企业级存储设备,大概率会看到那些带着蓝色或黑色连接器的硬盘背板——这就是SAS技术的战场。作为存储架构师,我经手过的全闪存阵列和磁盘柜里,90%的核心连接都依赖SAS协议。和消费级SATA相比…...

Genus水平共现网络分析:高效替代OTU的实战指南

1. 为什么需要Genus水平共现网络分析? 做微生物群落研究的朋友们应该都深有体会,OTU/ASV水平的共现网络分析简直就是个时间黑洞。我去年处理一个土壤微生物项目时,2000多个OTU的共现网络跑了整整8个小时,等结果的时候都能看完两集…...

深度解析ConcurrentHashMap设计演进:从分段锁到无锁化的并发之路

在Java并发编程领域,ConcurrentHashMap绝对是“并发容器扛鼎之作”——它既解决了HashMap并发环境下的数据不一致(死循环、数据丢失)问题,又突破了Hashtable全表锁的性能瓶颈,成为高并发场景下K-V存储的首选。自JDK1.5…...

5分钟解锁WeMod专业版:开源工具让你的游戏修改体验全面升级

5分钟解锁WeMod专业版:开源工具让你的游戏修改体验全面升级 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 还在为WeMod专业版的订阅…...

OpenClaw多模型管理:同时接入百川2-13B-4bits与其他开源大模型

OpenClaw多模型管理:同时接入百川2-13B-4bits与其他开源大模型 1. 为什么需要多模型管理? 去年冬天,我尝试用OpenClaw自动化处理一批技术文档的翻译和摘要任务时,遇到了一个典型问题:当处理简单段落翻译时&#xff0…...

GNU Parallel进阶指南:解决管道传参的5个常见坑

GNU Parallel进阶指南:解决管道传参的5个常见坑 在数据处理和批量任务处理领域,GNU Parallel堪称瑞士军刀般的存在。这个看似简单的命令行工具,却能让你的工作效率提升数倍。但就像任何强大的工具一样,掌握其精髓需要跨越一些技术…...

STM32Fx标准外设固件库下载与安装全攻略

1. STM32Fx标准外设固件库是什么? 对于刚接触STM32开发的工程师来说,标准外设固件库就像是一本"使用说明书"。它封装了芯片底层寄存器的操作,让我们可以用更简单的方式控制硬件。举个例子,如果没有固件库,你…...

OpenClaw轻量化实践:nanobot镜像在树莓派上的部署指南

OpenClaw轻量化实践:nanobot镜像在树莓派上的部署指南 1. 为什么选择树莓派部署OpenClaw 去年夏天,我在整理家庭实验室时翻出了一台闲置的树莓派4B。这台曾经用来跑Home Assistant的小设备,现在有了新的使命——成为我的个人AI助手。当时市…...

如何5分钟快速安装Ghidra:新手逆向工程终极指南

如何5分钟快速安装Ghidra:新手逆向工程终极指南 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer Ghidra作为美国国…...

技术突破:抖音下载工具的全流程实战指南

技术突破:抖音下载工具的全流程实战指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容爆炸的时代,高效获取和管理短视频资源已成为创作者、研究者和普通用户的核心需求。…...

深入理解Matplotlib中的plt、fig、axes与axis:从基础到高级应用

1. Matplotlib绘图基础:从plt到figure的认知跃迁 第一次接触Matplotlib时,最让人困惑的就是plt.plot()和ax.plot()到底有什么区别。这就像学做菜时,有人告诉你"用锅炒菜"和"先用电磁炉加热再放锅炒菜"两种方式都能做出青…...

网安学习路线!最详细没有之一!看了这么多分享网安学习路线的一个详细的都没有!

零基础小白,到就业!入门到入土的网安学习路线! 在各大平台搜的网安学习路线都太粗略了。。。。看不下去了! 我把自己报班的系统学习路线,整理拿出来跟大家分享了!点击下图,福利! …...

别再为IP冲突头疼!YOLOv5+海康威视摄像头组网与实时检测的完整避坑指南

工业视觉组网实战:YOLOv5与海康威视摄像头的智能协同方案 在智能制造与安防监控领域,将AI算法与专业摄像设备结合已成为技术标配。但当工程师真正着手部署时,往往会陷入网络配置的泥潭——IP冲突导致设备失联、RTSP流媒体断断续续、多网卡环…...

3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南

3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 一、核心价值解析:短视频下载工具的技术突破与应用价值 1.1 多平台适配能…...

LeagueAkari:基于LCU API的英雄联盟自动化工具集架构设计与实战应用

LeagueAkari:基于LCU API的英雄联盟自动化工具集架构设计与实战应用 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit L…...

闽北哥-柔弱胜刚强:真正的强者,从不硬碰

柔弱胜刚强 ——真正的强者,从不硬碰“为什么真正厉害的人, 看起来都有些柔弱?🌿 因为—— 刚强自毁,柔弱长存。🔮 这不是权谋, 而是—— 天地运行的铁律。”🌊 一、误解千年&#x…...

大数据毕业设计 hadoop+spark+kafka+hive动漫推荐系统 动漫数据分析 可视化 漫画推荐

1、项目介绍 技术栈: Python语言、Django框架、SQLite数据库、Echarts可视化 、HTML、基于物品协同过滤推荐算法 (1)首页------不同类 型的动漫数据 (2)动漫类型饼图 (3)动漫收藏排名和不同国家…...

三步掌握EdgeRemover:Windows系统Edge浏览器专业卸载方案

三步掌握EdgeRemover:Windows系统Edge浏览器专业卸载方案 【免费下载链接】EdgeRemover PowerShell script to remove Microsoft Edge in a non-forceful manner. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 还在为Windows系统中Microsoft Ed…...

实战指南:用快马为django项目生成定制化vmware开发环境,开箱即用

实战指南:用快马为Django项目生成定制化VMware开发环境,开箱即用 在实际开发场景中,虚拟机环境需要与具体项目需求紧密结合。最近我在做一个Django项目时,发现每次换电脑或重装系统都要重新配置开发环境,特别浪费时间…...

从Pikachu靶场实战解析越权漏洞:原理、攻击与防御

1. 越权漏洞:Web安全的隐形杀手 第一次接触越权漏洞是在三年前的一次渗透测试中,当时客户系统有个"查看订单详情"的功能,我无意间发现修改URL中的订单ID就能看到别人的订单信息。这种看似简单的漏洞,实际上危害极大——…...

3步搞定ERPNext自动化部署:让企业管理系统安装变得简单

3步搞定ERPNext自动化部署:让企业管理系统安装变得简单 【免费下载链接】erpnext_quick_install Unattended install script for ERPNext Versions, 13, 14 and 15 项目地址: https://gitcode.com/gh_mirrors/er/erpnext_quick_install 还在为复杂的ERPNext安…...

Day25(高阶篇):RAG检索与重排序算法精研|从原理到参数调优,彻底攻克检索瓶颈

Day25(高阶篇):RAG检索与重排序算法精研|从原理到参数调优,彻底攻克检索瓶颈 引言: 进阶篇我们搞定了RAG系统的生产级落地,能满足常规项目的精准问答需求,但如果想让系统达到极致准确…...

SpeedyStepper Forked:嵌入式步进电机硬实时控制库解析

1. SpeedyStepper Forked:面向嵌入式实时控制的高性能步进电机驱动库深度解析1.1 库定位与工程价值SpeedyStepper Forked 是一个专为嵌入式平台(尤其是基于Arduino生态的MCU)设计的轻量级、高精度步进电机运动控制库。其核心目标并非提供图形…...

TinyMCE 5插件开发实战:手把手教你定制首行缩进功能(Vue版)

TinyMCE 5插件开发实战:手把手教你定制首行缩进功能(Vue版) 在内容创作领域,富文本编辑器的灵活性和扩展性往往决定了最终的用户体验。TinyMCE作为一款广受欢迎的富文本编辑器,其插件系统为开发者提供了无限可能。本文…...

QT实战:qcustomplot中setData与addData性能对比与最佳实践(附代码示例)

QT实战:qcustomplot中setData与addData性能对比与最佳实践(附代码示例) 在数据可视化领域,QT的qcustomplot库因其轻量级和高度可定制性而广受欢迎。然而,当处理大规模数据集或实时数据流时,开发者常常会遇到…...

海外项目实战:用uniapp+Google OAuth 2.0搞定H5/App的免后端登录(附完整源码)

海外项目实战:Uniapp与Google OAuth 2.0的无后端登录方案 在面向海外市场的移动应用开发中,用户登录体验直接影响产品的转化率和留存率。Google账号作为欧美地区最普及的数字身份凭证,其登录集成已成为出海应用的标配功能。本文将深入探讨如何…...

智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant

智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant 1. 为什么需要AI驱动的家居控制中心 去年冬天的一个深夜,我被空调异常制热的噪音惊醒。摸黑在手机APP上反复调整参数无果后,突然意识到:如果有个能理解自然语言的智…...