莫议他事,只谈技术!
1.为什么栈会溢出?
——我举了个例子比如整形的数大小是有上限的,如果定义了比最大值大的数赋给了整形变量,此时就会越界。
【百度百科】:堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。举例如下:
int main(){ char name[8]; printf("Please type your name:"); gets(name); //如果输入name="aaaaaaaaaaaaaaaaaaaaaaaaaaaa"就会导致栈溢出。 printf("Hello.%s!",name); return 0;}最好能提到原因:死循环似的递归, 没有或者不可能到达结束条件, 同时在堆栈中保存参数,局部变量等等,最后
继续阅读与本文标签相同的文章
下一篇 :
哈希表对字符串的高效处理
-
340 亿美元! Red Hat 荣登 IBM 最大规模交易席位
2026-05-24栏目: 教程
-
如何把其他服务商的服务器项目迁移到阿里云服务器上
2026-05-24栏目: 教程
-
SpringBoot如何使用JPA操作数据库?
2026-05-24栏目: 教程
-
葛洲坝集团联手阿里云打造数据中台 数字化驱动业务创新
2026-05-24栏目: 教程
-
阿里云MaxCompute 2019-6月刊
2026-05-24栏目: 教程
