C语言遇到的小问题
32为Linux主机下的C语言内存情况
----------------------------------------------------------- 4G(0xffff ffff)
内核空间 应用程序不许访问
------------------------------------------------------------ 0xC000 0000
栈空间 RW 局部变量保存位置
-------------------------------------------------------------
运行时堆空间 malloc
--------------------------------------------------------------
全局的数据空间 RW (初始化的(data)、未初始化的(bss)) data bss
代码段(只读) R code text
---------------------------------------------------------------0x0804 8000
---------------------
堆栈区内存大小,缺省值 2M或者4M,如果char够用,你就按照char去开,就只有int的1/4啦
当然我们开全局变量和malloc也是能用的,因为被OS接管了,所以acmer经常爆栈
printf("%s",s[i])不能运行
case 's':
s = va_arg(args, char *);
if (!s) s = "<NULL>";
len = strnlen(s, precision);
if (!(flags & LEFT)) while (len < field_width--) *str++ = ' ';
for (i = ; i < len; ++i) *str++ = *s++;
while (len < field_width--) *str++ = ' ';
给定字符就会访问字符所在ascii值得内存空间,就炸了
导致程序运行崩溃有以下几种可能:非法内存地址访问,访问越界,堆栈溢出
堆栈,函数调用时入栈的顺序 是参数 函数地址 局部变量
拉链法和开放定址比较
拉链法:处理冲突简单,无堆聚现象,同时链表插入、删除操作简单,所以拉链法适合经常进行插入、删除操作的情况。
开放定址法:为了减少冲突,要求负载因子(装填因子)较小,当节点规模较大时候会浪费很多空间。且开放定址法在删除节点的时候,不能简单的将节点所在的空间置为空,否则将截断在它之后的节点的查找路径,这是因为各种开放定址法中,空地址单元都是查找失败的条件。因此在进行删除节点操作的时候,需要使用逻辑删除,即在被删除的节点上做删除标记。
最新文章
- 两个shell脚本
- jqm页面跳转问题
- Java触发器CronTrigger
- submit(提交)按钮
- Cookie禁用了,Session还能用吗?
- 推荐acm题目
- $response->;decoded_content; 和$response->;content; 乱码问题
- php5.5以上的版本 开启curl
- Java学习笔记之类和对象
- 使用ajax+php+mysql实现数据库定时刷新
- 前端导出excel数据-jsonToExcel
- 加密PDF文件的打印问题
- DockPanel与GeckoFX、ChrominumFX、CefSharp结合使用问题
- Oracle ADDM性能诊断利器及报告解读
- 初识Linq to Entity
- windows performance
- Asp.net mvc 大文件上传 断点续传 进度条
- JavaScript字符串的处理方法
- bzoj 1122 [POI2008]账本BBB 模拟贪心,单调队列
- html页面的局部刷新
热门文章
- IT部门域事件与业务分析
- MySQL表的碎片整理和空间回收小结
- Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)
- 编写sql查询语句思路
- codevs 1028 花店橱窗布置
- 【TensorFlow入门完全指南】神经网络篇&#183;卷积神经网络
- python爬虫之路——初识数据库存储
- UVA 1616 Caravan Robbers 商队抢劫者(二分)
- 重新postgresql出现错误:Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.
- spring5之SAXParseException:cvc-elt.1: 找不到元素 “beans” 的声明