首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

常见内存错误

前言 C语言强大的原因之一在于几乎能掌控所有的细节,包括对内存的处理,什么时候使用内存,使用了多少内存,什么时候该释放内存,这都在程序员的掌控之中。...不恰当地操作内存,经常会引起难以定位的灾难性问题。今天我们就来看看有哪些常见的内存问题。...指针不等同于其指向的对象 我们可能常常错误性地认为指针对象的大小就是数据本身的大小,最常错误使用的就是下面的情况: /*bad code*/ int test(int a[]) { size_t...len = sizeof(a)/sizeof(int); /*do something*/ } 这里计算数组a的长度偶尔能够如愿,但实际上是错误的,因为数组名作为参数时,是指向该数组下标为0的元素的指针...申请的内存不使用时需要释放 使用malloc等申请的内存如果不使用free进行释放,将会引起内存泄露。长期运行将会导致可用内存越来越少,程序也将会变得越来越卡顿。

78920

如何优雅做系统错误提示

因此,作为程序员群体的一份子,在这里我想呼吁大家认真对待错误提示,特别是那些不是给“人”看的错误提示…… 作为软件的创造者,我们虽然无法避免出现异常、出现bug,但是我们可以做到避免无意义的错误提示产生...首先,一些常见的容易让人摸不着头脑的错误提示要先避免。比如, 提交失败。 数据读取失败。 …… 这类错误提示看上去准确表达了当前遇到的问题,实际上啥也没说。...当然,比给出合理的错误提示更好的是,避免出现错误。所以你还可以更进一步,提前规避掉一些错误。 比如, 为了避免日期选择超过有效范围,可以对有效范围外的日期设置为禁用状态。...为了避免在弱网络下页面无法正常加载而提示错误,可以做缓存,提前预存一些数据在本地。 …… 好了,总结一下。 这篇呢Z哥和你分享了我对软件系统抛出的错误提示的看法。...我认为好的错误提示需要符合以下4点。

1.8K10
领券