为了方便使用,我做了如下结构体的嵌套使用:

struct operation{
int num;
char name[100];
char owner[100];
char msg[100];
};

struct collect{
int num;
char name[100];
char owner[100];
char msg[100];
struct operation operations[100];
};

struct list{
int num;
char name[100];
char owner[100];
char msg[100];
struct collect collects[100];
};

而后在main中做如下的使用:

struct list lists[100];

编译没有任何问题,在执行时报错:Segmentation fault 即段错误,一般是对内存的非法使用导致的

我将所有代码注释掉,只剩下这一个申明,结果依然报错

于是怀疑是申请的内存过大,超出了限制

后查到:局部变量是放在栈的,而linux对栈的使用有限制,可通过ulimit -s查看和更改

后做实验:调整局部变量的大小和栈使用限制,发现确实如此

结论:对于大数据,不能使用栈分配,可以考虑静态区和堆区,例如:1)定义为全局变量、2)定义为static变量、3)使用malloc动态分配

最新文章

  1. 【CSS进阶】原生JS getComputedStyle等方法解析
  2. Java循环删除集合多个元素的正确打开方式
  3. Java中Office(word/ppt/excel)转换成HTML实现
  4. 实例--post请求,完成一个抽奖程序概率的测试
  5. SQL2008-备份SQL数据库的语句
  6. java.util.regx Demo
  7. Node.js学习笔记1(简介)
  8. 随着MapReduce job实现去加重,多种输出文件夹
  9. bfs或者dfs Good Bye 2016 D
  10. HTML 4.01+5基礎知識
  11. bzoj2339[HNOI2011]卡农 dp+容斥
  12. 如何确定Kafka的分区数、key和consumer线程数
  13. 分享一个好用的tmux配置文件
  14. 一份从0到1的java项目实践清单
  15. Android 如何判断指定服务是否在运行中 “Service”
  16. vue-demo(初级)
  17. cocos2d JS-(JavaScript) cc.each循环遍历对象
  18. Python [练习题] :字典扁平化
  19. java文件压缩与解压
  20. R的transform

热门文章

  1. JDK1.6 中文API 下载地址
  2. 数据采集实践学习二(C#)
  3. Dynamics AX 2012 R2 业务系列-销售业务流程
  4. ORA-12537: TNS:connection closed
  5. tomcat7 日志设置为log4j
  6. sendEmail报错:at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm
  7. iOS常见面试题
  8. 遗传算法在JobShop中的应用研究(part 5:解码)
  9. reactive-turtle
  10. PHP 编译安装