读C专家编程
来源:互联网 发布:nginx 执行lua脚本 编辑:程序博客网 时间:2024/05/16 18:56
主要是限定符的作用范围,个人认为赋值的时候 不要让右边的缩小了左边数值的范围!比如:const char *p 和 char *pp; 大眼一看就应该知道是 p=pp;没有警告,反过来就有了警告!!
第二个问题:
主要是符号问题,尽量让代码中的符号一致,尽量不要让有符号和无符号的比较,实在不行就用强制转换符!!
第三个问题:
switch break问题,都知道case 后面不要忘了break,但是break 中止了什么,如果case 分支中有个if语句,if语句里面有个break,case最后也有个break,这个break和if里面的break没有语句问题,有了并且if条件成立了,那么就跳出了整个case语句!!切记!!
第四个问题:
指针问题,函数内部的局部指针在函数返回的时候会销毁,指针指向的内容会被后面的调用给覆盖,不要把局部指针当做返回值,那会得到意想不到的结果。解决办法:
1、直接返回字符串常量,如 return "This is return value!".这是最简单直接的办法,但是 这个必须是固定的字符串常量,不能计算字符串的内容.
2、使用全局声明的数组,把返回的字符串放在数组里面返回有效,但是这样任何人都能修改数组的内容.
3、在函数内部声明static数组变量,用来保存数据,这样可以解决任何人修改数组的内容,但是这样会使自己调用该函数的时候自动改变变量的内容,如何想保存原来的内容必须先COPY一份.
4、可以在函数内部动态分配内存,char *s = malloc(size); 这样既能解决任何人修改问题也能解决数据的保存,但是这样需要程序员管理内存,防止没用的内存不管(内存泄露)和正在用的内存被修改.
5、增加函数参数一个是指向得到的数据,一个是数据的大小,在调用函数的时候用char *s = malloc(size),最后free(s);这样方便管理,是最适合的方法了!!!!
- 读C专家编程
- 开始读《C专家编程》
- 读《C专家编程》有感
- 读《c专家编程》有感
- 《C专家编程》读后记
- 读《C专家编程》笔记1
- 读《C专家编程》总结(一)
- 读《C专家编程》总结(二)
- 读《C专家编程》笔记-第六章
- 《C专家编程》勘误表
- c专家编程
- 【读书笔记】c专家编程
- C编程专家读后感
- 《C专家编程》读书笔记
- C专家编程 笔记
- c专家编程笔记
- c专家编程笔记
- 重读C专家编程
- IO操作(2)
- 网络编程
- 方法与数组
- 反射机制
- GUI
- 读C专家编程
- Java高新基础加强(1)
- Java高新基础加强(2)
- Java高新基础加强(3)
- 面试题之交通灯管理系统
- 面试题之银行业务系统
- XML练习案例(学生管理系统)
- 购物车案例分析(初学三层架构)
- 网站登录案例分析(初学三层架构)