C专家编程阅读笔记

文章讨论了C语言编程中的一些常见错误,如使用malloc分配字符串内存时忽略结束字符,switch语句中不加break导致的意外执行,以及如何正确理解和使用指针、赋值符和位操作符。此外,还提到了检测内存泄漏的方法和多维数组的解析方式。
摘要由CSDN通过智能技术生成
  1. 无论什么时候,如果遇见语句malloc(strlen(str)); 几乎可以断定是错误的,而malloc(strlen(str)+1)才是正确的,这是因为字符串处理库函数几乎包含一个额外空间,用于容纳字符串结尾的'\0'字符。
  2. 一个'L'的NUL用于结束一个ACSII字符串,两个‘L’的NULL用于表示什么也不指向(空指针)。
  3. switch语句几乎所有case都需要以break结尾,否则会一次执行后面所有的case
  4. break语句跳出最近那层循环语句或switch语句
  5. (1)乘法运算符  (2)声明表示指针  (3)用于指针,表间接引用
  6. 所有赋值符都具有右结合性,表达式最右边的操作最先执行,然后从右到左依次执行,位操作符是从左到右依次执行。
  7. 观察内存泄漏分为两步,使用swap命令观察还有多少可交换的空间,/usr/sbin/swap -s,一两分钟内键入三四次该命令,看看可用的交换区是否在减少。
  8. 多维数组   pea[i][j]被编译器解释为

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值