设为首页 加入收藏

TOP

c语言进阶总结1
2014-11-23 18:53:33 来源: 作者: 【 】 浏览:20
Tags:语言 进阶 总结

1.善于运用符号常量。

把数字埋在程序中没有任何好处,一方面不能给以后看你程序的人提供什么信息,一方面修改起来也很麻烦。

可以用define来定义符号常量。

#define 你想用的名称 实际的数字或者字符序列 /*符号常量一般大写,与小写的变量相区分*/

如:#define MAX 100

注1:define定义的符号变量是没有类型的,编译不进行安全检测,容易出问题,因此也有人说用const 可以完全代替define,

而且更好。

如:const int MAX = 100

注2:define只是替换。

如:#define A 3+5

const int A = 3+5

一式中 3 * A 就等价于 3 * 3 + 5 = 14

二式中 3 * A 就等价于 3 * 8 = 24

注3:const关键字不是真正表示常量,若将上式的A代入switch语句中,

case A:

也会出现错误

如果你要深入追究他俩的区别

2.getchar()函数返回的是int类型的数据。

int c;
c=getchar();


3.当心编译器由于贪心法进行错误编译

比如:将x除以p指针所指向的值,之后结果赋值给Y

得: Y=x/*p;

但是编译器会将/* 当成注释的开始,将x直接赋值给Y

正确做法应该是Y=x/(*p)

4.用单引号引起来的相当于一个数字,用双引号引起来的末尾还有 '\0'

5.

float *g() 指g()函数返回浮点类型的指针

float (*g)() 为指向返回的浮点类型的函数指针

6.多个运算符要按计算顺序打括号,避免考虑不到符号优先级方面的问题产生错误的运算。

7.小心if、for、while后的分号位置,注意switch中,case后的break和最后的default。

若故意不加break语句,可以写个注释标明。

8.C语言中else总与最近的IF想匹配

if

if

else

这样的结构最后也会自动变成

if

if

else

(不像PYTHON那样,缩进对齐就行)

因此要养好习惯

if

{

if

}

else

这样才和第一个IF想匹配,因为第二个IF被“封装”了

9.对数组的操作就是对指针的操作。把数组当作参数代入函数,其实代入的就是指向第一个元素的指针。

main(int argc,char *argv[ ] )

{

}

等价于

main(int argc,char **argv)

{

}

10.数据的边界问题。避免栏杆错误。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Object C学习笔记10-静态方法和静.. 下一篇C语言对其方式--struct数据结构必..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: