c和指针阅读笔记
2014-10-24 10:06
246 查看
1、全局变量与局部变量
使用局部变量有两个优势:在需要的时候才为局部变量分配内存,可以节省内存空间;在堆栈上分配空间可以有效的实现递归。
2、有符号位的右移操作不可移植,移位操作的位数是个负值
3、声明一个指针变量并不会自动分配内存,在对指针进行间接访问前需要对它进行初始化,或者让它指向一个内存。指向同一个数组的两个指针才可以进行指针运算,否则结果难料。
4、函数声明最好是放在一个头文件中,需要调用时就#include该头文件,这样就可以检查到函数的参数和返回值是否正确。
5、值得类型并不是值的本质,这取决于它被使用的方式。
6、c函数均以“传值调用”的形式传递参数,也就是说函数获得参数的一份拷贝,函数修改这个拷贝而不会改变实参。
7、在声明数组参数时不指定长度是合法的,因为函数并不会为数组分配内存。
8、c语言在运行时由堆栈支持递归的实现。
9、以固定数目增量在数组中移动时,指针变量比下标效率更高,增量是1且机器具有自动增量模型时,这点表现的更为突出。
10、声明为寄存器变量的指针通常比位于静态内存和堆栈中的指针效率更高。
11、程序维护的成本较高,所以尽量让代码简洁,提高代码可维护性。
12 、表达式中区分有符号数和无符号数。
13、使用字符串函数注意内存溢出。
使用局部变量有两个优势:在需要的时候才为局部变量分配内存,可以节省内存空间;在堆栈上分配空间可以有效的实现递归。
2、有符号位的右移操作不可移植,移位操作的位数是个负值
3、声明一个指针变量并不会自动分配内存,在对指针进行间接访问前需要对它进行初始化,或者让它指向一个内存。指向同一个数组的两个指针才可以进行指针运算,否则结果难料。
4、函数声明最好是放在一个头文件中,需要调用时就#include该头文件,这样就可以检查到函数的参数和返回值是否正确。
5、值得类型并不是值的本质,这取决于它被使用的方式。
6、c函数均以“传值调用”的形式传递参数,也就是说函数获得参数的一份拷贝,函数修改这个拷贝而不会改变实参。
7、在声明数组参数时不指定长度是合法的,因为函数并不会为数组分配内存。
8、c语言在运行时由堆栈支持递归的实现。
9、以固定数目增量在数组中移动时,指针变量比下标效率更高,增量是1且机器具有自动增量模型时,这点表现的更为突出。
10、声明为寄存器变量的指针通常比位于静态内存和堆栈中的指针效率更高。
11、程序维护的成本较高,所以尽量让代码简洁,提高代码可维护性。
12 、表达式中区分有符号数和无符号数。
13、使用字符串函数注意内存溢出。
相关文章推荐
- Android代码阅读笔记——智能指针
- 深入理解 C 指针阅读笔记 -- 第二章
- Essential c++阅读笔记-第3章 数组和vector的find方法(哨兵指针)
- C和指针 阅读笔记
- 深入理解 C 指针阅读笔记 -- 第三章
- C语言学习笔记(21) 函数指针、回调函数及复杂指针阅读技巧
- linux源码阅读笔记 void 指针
- 《C和指针》阅读笔记-指针
- 深入理解 C 指针阅读笔记 -- 第一章
- 深入理解 C 指针阅读笔记 -- 第六章
- 指针阅读技巧学习笔记
- 深入理解 C 指针阅读笔记 -- 第五章
- c程序设计语言阅读笔记(二)字符指针和字符数组
- C 和指针---阅读笔记
- 深入理解 C 指针阅读笔记 -- 第四章
- 深入理解 C 指针阅读笔记 -- 第六章
- c++ primer plus阅读笔记3---指针问题
- c++primer阅读笔记之数组与指针
- C++ FAQ阅读笔记[2]--引用
- 代码阅读总结之ASP.NET StartKit TimeTracker(QueryString之改进笔记)