《c语言编程之道》笔记

1,整数的除法导致结果的偏差

double i;

i=9.5+1/2;和i=9.5+1.0/2;的结果是不一样的。为何?


2.malloc释放内存时机:

(1). 就算没有free(),main()结束后也是会自动释放malloc()的内存的,这里监控者是操作系统,设计严谨的操作系统会登记每一块给每一个应用程序分配的内存,这使得它能够在应用程序本身失控的情况下仍然做到有效地回收内存。你可以试一下在TaskManager里强行结束你的程序,这样显然是没有执行程序自身的free()操作的,但内存并没有发生泄漏。

(2) . free()的用处在于实时回收内存。


3.scanf()和gets()获得字符串:

不要轻易使用gets(),因为这个导致了互联网大量威胁的bugs。

scanf()获得字符串要谨慎,注意限制字长,清空缓冲等。


4.const和define:

尽量多使用前者,因为有类型检查。


5.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值