关于刷题时使用数组的小注意事项

💯 博客内容:关于刷题时使用数组的小技巧

😀 作  者:陈大大陈

🚀 个人简介:一个正在努力学技术的准前端,专注基础和实战分享 ,欢迎私信!

💖 欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

最近写题时,发现了一直遗漏的一个知识点。

如图,将数组定义在全局,就会输出正确答案。

但是,要是定义局部数组,就会打印出随机值。

报错显示,栈溢出。

这是因为,局部数组和全局数组的存储位置不一样。

全局数组是存储在内存中的静态区,而局部变量是存储在栈区。

对于c语言,一个静态数组能有多大,取决于剩余内存的空间,也就是它所在区的大小;

在Windows下,栈的大小为2M,也就是1024*1024*2 = 2097152个字节。而一个int类型的变量则占2个或4个字节。所有我们在程序中声明局部变量时(在栈区),最好不好超过int200000的内存变量。

总之,当程序需要声明一个超过十万级的变量时,最好放在main函数外面,作为全局变量去使用。不然的话,可能像我上面那样发生栈溢出问题,还以为是代码的思路有问题。

相关推荐
总有刁民想爱朕ha9 小时前
Python PyQt5图片批量转MP4视频工具:本地离线免费无水印,完整代码
开发语言·python·qt
宸津-代码粉碎机9 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
_Narcissus_9 小时前
二分算法笔记及例题
数据结构·c++·笔记·算法·蓝桥杯·查找·二分算法
tachibana29 小时前
RAGAS 指标解读
数据库·人工智能·算法·机器学习·架构·大模型·llm
Python私教9 小时前
Python 3.15 来了:free-threading 稳定 ABI 能给高并发服务带来什么
开发语言·python
qq_4195630910 小时前
ToT 的 BFS/DFS 有个致命缺口:蒙特卡洛树搜索(MCTS)用「随机试错+统计」让大模型想得更深,小模型 + 它竟超过 GPT-4
算法·深度优先·宽度优先
Logintern0911 小时前
[Matlab] 遗传算法求解TSP入门
开发语言·matlab
万法若空11 小时前
CSP-J/S 排序算法完整专题训练题单
数据结构·算法·排序算法
凉茶钱11 小时前
【数据结构】排序(快排,选择,直接插入,希尔)
数据结构·算法·排序算法
weixin_4462608511 小时前
拆解再复用:大模型智能体的跨任务技能迁移
人工智能·深度学习·算法