引入
近两个月的时间,顺着谭浩强老师的《C 语言程序设计(第四版)》,我们简要学习了一些 C 语言的知识,接下来三节,我们对常见问题和一些知识点进行回顾。
常见错误
我们梳理一下常见的错误。
混淆字符和字符串的表示形式
1 | char m; |
自加和自减
在使用++和——的时候,要注意符号的优先级,比如在指针自加减时,因为++和——要高于,所以先执行 p++,即 p++ 后再当做指针使用。宁可多加括号,也要搞清楚使用方法!
记得提前声明自定义函数
如果我们在使用时,没有声明要使用的自定义函数,系统就会报错,所以在使用自定义函数前,一定要先声明,不一定非要在 main 函数声明,在使用前即可。
形参和实参的值
除非实参传递过去的是地址,否则形参永远也改变不了实参的值,因为是存储在不同地方的,怎么改嘛….
函数的形参和实参类型
调用函数时,实参类型一定要跟形参一直,否则就会按照形参的类型去处理,会出问题!
不同类型指针不能混用
不同类型的指针,不能直接混用赋值,否则因为类型不同,不能获取到正确的地址。
函数参数处理顺序
1 | int i=3; |
我们以为会输出
3 4 5
但在某些编译器下,会输出:
5 5 4
这就是函数参数处理顺序的不同,有的从左向右,有的则相反
所以,建议
1 | int i=3,j,k; |
这样写就保险很多!
混淆数组名和指针变量的区别
1 | int main(){ |
b 是数组名,b 表示的是 b[0] 的地址,地址是一个常量,所以不能进行改变的。我们应该用指针指向该数组。
1 | int main(){ |
混淆结构体类型和结构体变量
结构体类型
是一种类型
。
结构体变量
是一种变量
。
使用文件忘记打开了,或者打开方式不对
使用文件,一定记得要打开文件
。
打开文件是读、写还是追加,二进制还是 ASCII 都要搞清楚
千万不要忘记关闭文件
我们知道缓存的概念,就应该知道如果不关闭文件,有些数据是在缓存中的,我们可能会丢失数据,所以一定要及时的关闭文件。
尾巴
这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。